| 
public abstract class Expression
 | 
public abstract class Expression
 | 
| 
    
 | 
    
 | 
| 
     public virtual Boolean CanReduce { get; }
 | 
     public virtual Boolean CanReduce { get; }
 | 
| 
     public virtual ExpressionType NodeType { get; }
 | 
     public virtual ExpressionType NodeType { get; }
 | 
| 
     public virtual Type Type { get; }
 | 
     public virtual Type Type { get; }
 | 
| 
 
 | 
     internal protected virtual Expression Accept(ExpressionVisitor visitor);
 | 
| 
     static public BinaryExpression Add(Expression left, Expression right);
 | 
     static public BinaryExpression Add(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Add(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression Add(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression AddAssign(Expression left, Expression right);
 | 
     static public BinaryExpression AddAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression AddAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression AddAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression AddAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression AddAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression AddAssignChecked(Expression left, Expression right);
 | 
     static public BinaryExpression AddAssignChecked(Expression left, Expression right);
 | 
| 
     static public BinaryExpression AddAssignChecked(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression AddAssignChecked(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression AddAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression AddAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression AddChecked(Expression left, Expression right);
 | 
     static public BinaryExpression AddChecked(Expression left, Expression right);
 | 
| 
     static public BinaryExpression AddChecked(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression AddChecked(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression And(Expression left, Expression right);
 | 
     static public BinaryExpression And(Expression left, Expression right);
 | 
| 
     static public BinaryExpression And(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression And(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression AndAlso(Expression left, Expression right);
 | 
     static public BinaryExpression AndAlso(Expression left, Expression right);
 | 
| 
     static public BinaryExpression AndAlso(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression AndAlso(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression AndAssign(Expression left, Expression right);
 | 
     static public BinaryExpression AndAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression AndAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression AndAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression AndAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression AndAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public IndexExpression ArrayAccess(Expression array, Expression indexes);
 | 
     static public IndexExpression ArrayAccess(Expression array, Expression indexes);
 | 
| 
     static public IndexExpression ArrayAccess(Expression array, IEnumerable`1<Expression> indexes);
 | 
     static public IndexExpression ArrayAccess(Expression array, IEnumerable`1<Expression> indexes);
 | 
| 
     static public BinaryExpression ArrayIndex(Expression array, Expression index);
 | 
     static public BinaryExpression ArrayIndex(Expression array, Expression index);
 | 
| 
     static public MethodCallExpression ArrayIndex(Expression array, Expression indexes);
 | 
     static public MethodCallExpression ArrayIndex(Expression array, Expression indexes);
 | 
| 
     static public MethodCallExpression ArrayIndex(Expression array, IEnumerable`1<Expression> indexes);
 | 
     static public MethodCallExpression ArrayIndex(Expression array, IEnumerable`1<Expression> indexes);
 | 
| 
     static public UnaryExpression ArrayLength(Expression array);
 | 
     static public UnaryExpression ArrayLength(Expression array);
 | 
| 
     static public BinaryExpression Assign(Expression left, Expression right);
 | 
     static public BinaryExpression Assign(Expression left, Expression right);
 | 
| 
     static public MemberAssignment Bind(MemberInfo member, Expression expression);
 | 
     static public MemberAssignment Bind(MemberInfo member, Expression expression);
 | 
| 
     static public MemberAssignment Bind(MethodInfo propertyAccessor, Expression expression);
 | 
     static public MemberAssignment Bind(MethodInfo propertyAccessor, Expression expression);
 | 
| 
     static public BlockExpression Block(Expression arg0, Expression arg1);
 | 
     static public BlockExpression Block(Expression arg0, Expression arg1);
 | 
| 
     static public BlockExpression Block(Expression arg0, Expression arg1, Expression arg2);
 | 
     static public BlockExpression Block(Expression arg0, Expression arg1, Expression arg2);
 | 
| 
     static public BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
     static public BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
| 
     static public BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4);
 | 
     static public BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4);
 | 
| 
     static public BlockExpression Block(Expression expressions);
 | 
     static public BlockExpression Block(Expression expressions);
 | 
| 
     static public BlockExpression Block(IEnumerable`1<Expression> expressions);
 | 
     static public BlockExpression Block(IEnumerable`1<Expression> expressions);
 | 
| 
     static public BlockExpression Block(Type type, Expression expressions);
 | 
     static public BlockExpression Block(Type type, Expression expressions);
 | 
| 
     static public BlockExpression Block(Type type, IEnumerable`1<Expression> expressions);
 | 
     static public BlockExpression Block(Type type, IEnumerable`1<Expression> expressions);
 | 
| 
     static public BlockExpression Block(IEnumerable`1<ParameterExpression> variables, Expression expressions);
 | 
     static public BlockExpression Block(IEnumerable`1<ParameterExpression> variables, Expression expressions);
 | 
| 
     static public BlockExpression Block(Type type, IEnumerable`1<ParameterExpression> variables, Expression expressions);
 | 
     static public BlockExpression Block(Type type, IEnumerable`1<ParameterExpression> variables, Expression expressions);
 | 
| 
     static public BlockExpression Block(IEnumerable`1<ParameterExpression> variables, IEnumerable`1<Expression> expressions);
 | 
     static public BlockExpression Block(IEnumerable`1<ParameterExpression> variables, IEnumerable`1<Expression> expressions);
 | 
| 
     static public BlockExpression Block(Type type, IEnumerable`1<ParameterExpression> variables, IEnumerable`1<Expression> expressions);
 | 
     static public BlockExpression Block(Type type, IEnumerable`1<ParameterExpression> variables, IEnumerable`1<Expression> expressions);
 | 
| 
     static public GotoExpression Break(LabelTarget target);
 | 
     static public GotoExpression Break(LabelTarget target);
 | 
| 
     static public GotoExpression Break(LabelTarget target, Expression value);
 | 
     static public GotoExpression Break(LabelTarget target, Expression value);
 | 
| 
     static public GotoExpression Break(LabelTarget target, Type type);
 | 
     static public GotoExpression Break(LabelTarget target, Type type);
 | 
| 
     static public GotoExpression Break(LabelTarget target, Expression value, Type type);
 | 
     static public GotoExpression Break(LabelTarget target, Expression value, Type type);
 | 
| 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0);
 | 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0);
 | 
| 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1);
 | 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1);
 | 
| 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2);
 | 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2);
 | 
| 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
| 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4);
 | 
     static public MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4);
 | 
| 
     static public MethodCallExpression Call(MethodInfo method, Expression arguments);
 | 
     static public MethodCallExpression Call(MethodInfo method, Expression arguments);
 | 
| 
     static public MethodCallExpression Call(MethodInfo method, IEnumerable`1<Expression> arguments);
 | 
     static public MethodCallExpression Call(MethodInfo method, IEnumerable`1<Expression> arguments);
 | 
| 
     static public MethodCallExpression Call(Expression instance, MethodInfo method);
 | 
     static public MethodCallExpression Call(Expression instance, MethodInfo method);
 | 
| 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, Expression arguments);
 | 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, Expression arguments);
 | 
| 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, Expression arg0, Expression arg1);
 | 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, Expression arg0, Expression arg1);
 | 
| 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, Expression arg0, Expression arg1, Expression arg2);
 | 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, Expression arg0, Expression arg1, Expression arg2);
 | 
| 
     static public MethodCallExpression Call(Expression instance, String methodName, Type typeArguments, Expression[] arguments);
 | 
     static public MethodCallExpression Call(Expression instance, String methodName, Type typeArguments, Expression[] arguments);
 | 
| 
     static public MethodCallExpression Call(Type type, String methodName, Type typeArguments, Expression[] arguments);
 | 
     static public MethodCallExpression Call(Type type, String methodName, Type typeArguments, Expression[] arguments);
 | 
| 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, IEnumerable`1<Expression> arguments);
 | 
     static public MethodCallExpression Call(Expression instance, MethodInfo method, IEnumerable`1<Expression> arguments);
 | 
| 
     static public CatchBlock Catch(Type type, Expression body);
 | 
     static public CatchBlock Catch(Type type, Expression body);
 | 
| 
     static public CatchBlock Catch(ParameterExpression variable, Expression body);
 | 
     static public CatchBlock Catch(ParameterExpression variable, Expression body);
 | 
| 
     static public CatchBlock Catch(Type type, Expression body, Expression filter);
 | 
     static public CatchBlock Catch(Type type, Expression body, Expression filter);
 | 
| 
     static public CatchBlock Catch(ParameterExpression variable, Expression body, Expression filter);
 | 
     static public CatchBlock Catch(ParameterExpression variable, Expression body, Expression filter);
 | 
| 
     static public DebugInfoExpression ClearDebugInfo(SymbolDocumentInfo document);
 | 
     static public DebugInfoExpression ClearDebugInfo(SymbolDocumentInfo document);
 | 
| 
     static public BinaryExpression Coalesce(Expression left, Expression right);
 | 
     static public BinaryExpression Coalesce(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Coalesce(Expression left, Expression right, LambdaExpression conversion);
 | 
     static public BinaryExpression Coalesce(Expression left, Expression right, LambdaExpression conversion);
 | 
| 
     static public ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse);
 | 
     static public ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse);
 | 
| 
     static public ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse, Type type);
 | 
     static public ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse, Type type);
 | 
| 
     static public ConstantExpression Constant(Object value);
 | 
     static public ConstantExpression Constant(Object value);
 | 
| 
     static public ConstantExpression Constant(Object value, Type type);
 | 
     static public ConstantExpression Constant(Object value, Type type);
 | 
| 
     static public GotoExpression Continue(LabelTarget target);
 | 
     static public GotoExpression Continue(LabelTarget target);
 | 
| 
     static public GotoExpression Continue(LabelTarget target, Type type);
 | 
     static public GotoExpression Continue(LabelTarget target, Type type);
 | 
| 
     static public UnaryExpression Convert(Expression expression, Type type);
 | 
     static public UnaryExpression Convert(Expression expression, Type type);
 | 
| 
     static public UnaryExpression Convert(Expression expression, Type type, MethodInfo method);
 | 
     static public UnaryExpression Convert(Expression expression, Type type, MethodInfo method);
 | 
| 
     static public UnaryExpression ConvertChecked(Expression expression, Type type);
 | 
     static public UnaryExpression ConvertChecked(Expression expression, Type type);
 | 
| 
     static public UnaryExpression ConvertChecked(Expression expression, Type type, MethodInfo method);
 | 
     static public UnaryExpression ConvertChecked(Expression expression, Type type, MethodInfo method);
 | 
| 
     static public DebugInfoExpression DebugInfo(SymbolDocumentInfo document, Int32 startLine, Int32 startColumn, Int32 endLine, Int32 endColumn);
 | 
     static public DebugInfoExpression DebugInfo(SymbolDocumentInfo document, Int32 startLine, Int32 startColumn, Int32 endLine, Int32 endColumn);
 | 
| 
     static public UnaryExpression Decrement(Expression expression);
 | 
     static public UnaryExpression Decrement(Expression expression);
 | 
| 
     static public UnaryExpression Decrement(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression Decrement(Expression expression, MethodInfo method);
 | 
| 
     static public DefaultExpression Default(Type type);
 | 
     static public DefaultExpression Default(Type type);
 | 
| 
     static public BinaryExpression Divide(Expression left, Expression right);
 | 
     static public BinaryExpression Divide(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Divide(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression Divide(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression DivideAssign(Expression left, Expression right);
 | 
     static public BinaryExpression DivideAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression DivideAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression DivideAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression DivideAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression DivideAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arguments);
 | 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arguments);
 | 
| 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0);
 | 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0);
 | 
| 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1);
 | 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1);
 | 
| 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2);
 | 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2);
 | 
| 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
| 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, IEnumerable`1<Expression> arguments);
 | 
     static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, IEnumerable`1<Expression> arguments);
 | 
| 
     static public ElementInit ElementInit(MethodInfo addMethod, Expression arguments);
 | 
     static public ElementInit ElementInit(MethodInfo addMethod, Expression arguments);
 | 
| 
     static public ElementInit ElementInit(MethodInfo addMethod, IEnumerable`1<Expression> arguments);
 | 
     static public ElementInit ElementInit(MethodInfo addMethod, IEnumerable`1<Expression> arguments);
 | 
| 
     static public DefaultExpression Empty();
 | 
     static public DefaultExpression Empty();
 | 
| 
     static public BinaryExpression Equal(Expression left, Expression right);
 | 
     static public BinaryExpression Equal(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Equal(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
     static public BinaryExpression Equal(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
| 
     static public BinaryExpression ExclusiveOr(Expression left, Expression right);
 | 
     static public BinaryExpression ExclusiveOr(Expression left, Expression right);
 | 
| 
     static public BinaryExpression ExclusiveOr(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression ExclusiveOr(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression ExclusiveOrAssign(Expression left, Expression right);
 | 
     static public BinaryExpression ExclusiveOrAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression ExclusiveOrAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression ExclusiveOrAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression ExclusiveOrAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression ExclusiveOrAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public MemberExpression Field(Expression expression, FieldInfo field);
 | 
     static public MemberExpression Field(Expression expression, FieldInfo field);
 | 
| 
     static public MemberExpression Field(Expression expression, String fieldName);
 | 
     static public MemberExpression Field(Expression expression, String fieldName);
 | 
| 
     static public MemberExpression Field(Expression expression, Type type, String fieldName);
 | 
     static public MemberExpression Field(Expression expression, Type type, String fieldName);
 | 
| 
     static public Type GetActionType(Type typeArgs);
 | 
     static public Type GetActionType(Type typeArgs);
 | 
| 
     static public Type GetDelegateType(Type typeArgs);
 | 
     static public Type GetDelegateType(Type typeArgs);
 | 
| 
     static public Type GetFuncType(Type typeArgs);
 | 
     static public Type GetFuncType(Type typeArgs);
 | 
| 
     static public GotoExpression Goto(LabelTarget target);
 | 
     static public GotoExpression Goto(LabelTarget target);
 | 
| 
     static public GotoExpression Goto(LabelTarget target, Type type);
 | 
     static public GotoExpression Goto(LabelTarget target, Type type);
 | 
| 
     static public GotoExpression Goto(LabelTarget target, Expression value);
 | 
     static public GotoExpression Goto(LabelTarget target, Expression value);
 | 
| 
     static public GotoExpression Goto(LabelTarget target, Expression value, Type type);
 | 
     static public GotoExpression Goto(LabelTarget target, Expression value, Type type);
 | 
| 
     static public BinaryExpression GreaterThan(Expression left, Expression right);
 | 
     static public BinaryExpression GreaterThan(Expression left, Expression right);
 | 
| 
     static public BinaryExpression GreaterThan(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
     static public BinaryExpression GreaterThan(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
| 
     static public BinaryExpression GreaterThanOrEqual(Expression left, Expression right);
 | 
     static public BinaryExpression GreaterThanOrEqual(Expression left, Expression right);
 | 
| 
     static public BinaryExpression GreaterThanOrEqual(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
     static public BinaryExpression GreaterThanOrEqual(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
| 
     static public ConditionalExpression IfThen(Expression test, Expression ifTrue);
 | 
     static public ConditionalExpression IfThen(Expression test, Expression ifTrue);
 | 
| 
     static public ConditionalExpression IfThenElse(Expression test, Expression ifTrue, Expression ifFalse);
 | 
     static public ConditionalExpression IfThenElse(Expression test, Expression ifTrue, Expression ifFalse);
 | 
| 
     static public UnaryExpression Increment(Expression expression);
 | 
     static public UnaryExpression Increment(Expression expression);
 | 
| 
     static public UnaryExpression Increment(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression Increment(Expression expression, MethodInfo method);
 | 
| 
     static public InvocationExpression Invoke(Expression expression, Expression arguments);
 | 
     static public InvocationExpression Invoke(Expression expression, Expression arguments);
 | 
| 
     static public InvocationExpression Invoke(Expression expression, IEnumerable`1<Expression> arguments);
 | 
     static public InvocationExpression Invoke(Expression expression, IEnumerable`1<Expression> arguments);
 | 
| 
     static public UnaryExpression IsFalse(Expression expression);
 | 
     static public UnaryExpression IsFalse(Expression expression);
 | 
| 
     static public UnaryExpression IsFalse(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression IsFalse(Expression expression, MethodInfo method);
 | 
| 
     static public UnaryExpression IsTrue(Expression expression);
 | 
     static public UnaryExpression IsTrue(Expression expression);
 | 
| 
     static public UnaryExpression IsTrue(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression IsTrue(Expression expression, MethodInfo method);
 | 
| 
     static public LabelExpression Label(LabelTarget target);
 | 
     static public LabelExpression Label(LabelTarget target);
 | 
| 
     static public LabelExpression Label(LabelTarget target, Expression defaultValue);
 | 
     static public LabelExpression Label(LabelTarget target, Expression defaultValue);
 | 
| 
     static public LabelTarget Label();
 | 
     static public LabelTarget Label();
 | 
| 
     static public LabelTarget Label(String name);
 | 
     static public LabelTarget Label(String name);
 | 
| 
     static public LabelTarget Label(Type type);
 | 
     static public LabelTarget Label(Type type);
 | 
| 
     static public LabelTarget Label(Type type, String name);
 | 
     static public LabelTarget Label(Type type, String name);
 | 
| 
     static public Expression`1<TDelegate> Lambda(Expression body, ParameterExpression parameters);
 | 
     static public Expression`1<TDelegate> Lambda(Expression body, ParameterExpression parameters);
 | 
| 
     static public Expression`1<TDelegate> Lambda(Expression body, Boolean tailCall, ParameterExpression parameters);
 | 
     static public Expression`1<TDelegate> Lambda(Expression body, Boolean tailCall, ParameterExpression parameters);
 | 
| 
     static public Expression`1<TDelegate> Lambda(Expression body, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public Expression`1<TDelegate> Lambda(Expression body, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public Expression`1<TDelegate> Lambda(Expression body, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public Expression`1<TDelegate> Lambda(Expression body, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public Expression`1<TDelegate> Lambda(Expression body, String name, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public Expression`1<TDelegate> Lambda(Expression body, String name, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public Expression`1<TDelegate> Lambda(Expression body, String name, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public Expression`1<TDelegate> Lambda(Expression body, String name, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Expression body, ParameterExpression parameters);
 | 
     static public LambdaExpression Lambda(Expression body, ParameterExpression parameters);
 | 
| 
     static public LambdaExpression Lambda(Expression body, Boolean tailCall, ParameterExpression parameters);
 | 
     static public LambdaExpression Lambda(Expression body, Boolean tailCall, ParameterExpression parameters);
 | 
| 
     static public LambdaExpression Lambda(Expression body, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Expression body, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Expression body, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Expression body, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Type delegateType, Expression body, ParameterExpression parameters);
 | 
     static public LambdaExpression Lambda(Type delegateType, Expression body, ParameterExpression parameters);
 | 
| 
     static public LambdaExpression Lambda(Type delegateType, Expression body, Boolean tailCall, ParameterExpression parameters);
 | 
     static public LambdaExpression Lambda(Type delegateType, Expression body, Boolean tailCall, ParameterExpression parameters);
 | 
| 
     static public LambdaExpression Lambda(Type delegateType, Expression body, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Type delegateType, Expression body, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Type delegateType, Expression body, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Type delegateType, Expression body, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Expression body, String name, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Expression body, String name, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Expression body, String name, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Expression body, String name, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Type delegateType, Expression body, String name, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Type delegateType, Expression body, String name, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public LambdaExpression Lambda(Type delegateType, Expression body, String name, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
     static public LambdaExpression Lambda(Type delegateType, Expression body, String name, Boolean tailCall, IEnumerable`1<ParameterExpression> parameters);
 | 
| 
     static public BinaryExpression LeftShift(Expression left, Expression right);
 | 
     static public BinaryExpression LeftShift(Expression left, Expression right);
 | 
| 
     static public BinaryExpression LeftShift(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression LeftShift(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression LeftShiftAssign(Expression left, Expression right);
 | 
     static public BinaryExpression LeftShiftAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression LeftShiftAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression LeftShiftAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression LeftShiftAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression LeftShiftAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression LessThan(Expression left, Expression right);
 | 
     static public BinaryExpression LessThan(Expression left, Expression right);
 | 
| 
     static public BinaryExpression LessThan(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
     static public BinaryExpression LessThan(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
| 
     static public BinaryExpression LessThanOrEqual(Expression left, Expression right);
 | 
     static public BinaryExpression LessThanOrEqual(Expression left, Expression right);
 | 
| 
     static public BinaryExpression LessThanOrEqual(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
     static public BinaryExpression LessThanOrEqual(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
| 
     static public MemberListBinding ListBind(MemberInfo member, ElementInit initializers);
 | 
     static public MemberListBinding ListBind(MemberInfo member, ElementInit initializers);
 | 
| 
     static public MemberListBinding ListBind(MemberInfo member, IEnumerable`1<ElementInit> initializers);
 | 
     static public MemberListBinding ListBind(MemberInfo member, IEnumerable`1<ElementInit> initializers);
 | 
| 
     static public MemberListBinding ListBind(MethodInfo propertyAccessor, ElementInit initializers);
 | 
     static public MemberListBinding ListBind(MethodInfo propertyAccessor, ElementInit initializers);
 | 
| 
     static public MemberListBinding ListBind(MethodInfo propertyAccessor, IEnumerable`1<ElementInit> initializers);
 | 
     static public MemberListBinding ListBind(MethodInfo propertyAccessor, IEnumerable`1<ElementInit> initializers);
 | 
| 
     static public ListInitExpression ListInit(NewExpression newExpression, Expression initializers);
 | 
     static public ListInitExpression ListInit(NewExpression newExpression, Expression initializers);
 | 
| 
     static public ListInitExpression ListInit(NewExpression newExpression, IEnumerable`1<Expression> initializers);
 | 
     static public ListInitExpression ListInit(NewExpression newExpression, IEnumerable`1<Expression> initializers);
 | 
| 
     static public ListInitExpression ListInit(NewExpression newExpression, MethodInfo addMethod, Expression initializers);
 | 
     static public ListInitExpression ListInit(NewExpression newExpression, MethodInfo addMethod, Expression initializers);
 | 
| 
     static public ListInitExpression ListInit(NewExpression newExpression, MethodInfo addMethod, IEnumerable`1<Expression> initializers);
 | 
     static public ListInitExpression ListInit(NewExpression newExpression, MethodInfo addMethod, IEnumerable`1<Expression> initializers);
 | 
| 
     static public ListInitExpression ListInit(NewExpression newExpression, ElementInit initializers);
 | 
     static public ListInitExpression ListInit(NewExpression newExpression, ElementInit initializers);
 | 
| 
     static public ListInitExpression ListInit(NewExpression newExpression, IEnumerable`1<ElementInit> initializers);
 | 
     static public ListInitExpression ListInit(NewExpression newExpression, IEnumerable`1<ElementInit> initializers);
 | 
| 
     static public LoopExpression Loop(Expression body);
 | 
     static public LoopExpression Loop(Expression body);
 | 
| 
     static public LoopExpression Loop(Expression body, LabelTarget break);
 | 
     static public LoopExpression Loop(Expression body, LabelTarget break);
 | 
| 
     static public LoopExpression Loop(Expression body, LabelTarget break, LabelTarget continue);
 | 
     static public LoopExpression Loop(Expression body, LabelTarget break, LabelTarget continue);
 | 
| 
     static public BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right);
 | 
     static public BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right);
 | 
| 
     static public BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
     static public BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
| 
     static public BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, Boolean liftToNull, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, Boolean liftToNull, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public CatchBlock MakeCatchBlock(Type type, ParameterExpression variable, Expression body, Expression filter);
 | 
     static public CatchBlock MakeCatchBlock(Type type, ParameterExpression variable, Expression body, Expression filter);
 | 
| 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arguments);
 | 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arguments);
 | 
| 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, IEnumerable`1<Expression> arguments);
 | 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, IEnumerable`1<Expression> arguments);
 | 
| 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0);
 | 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0);
 | 
| 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1);
 | 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1);
 | 
| 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2);
 | 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2);
 | 
| 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
     static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
 | 
| 
     static public GotoExpression MakeGoto(GotoExpressionKind kind, LabelTarget target, Expression value, Type type);
 | 
     static public GotoExpression MakeGoto(GotoExpressionKind kind, LabelTarget target, Expression value, Type type);
 | 
| 
     static public IndexExpression MakeIndex(Expression instance, PropertyInfo indexer, IEnumerable`1<Expression> arguments);
 | 
     static public IndexExpression MakeIndex(Expression instance, PropertyInfo indexer, IEnumerable`1<Expression> arguments);
 | 
| 
     static public MemberExpression MakeMemberAccess(Expression expression, MemberInfo member);
 | 
     static public MemberExpression MakeMemberAccess(Expression expression, MemberInfo member);
 | 
| 
     static public TryExpression MakeTry(Type type, Expression body, Expression finally, Expression fault, IEnumerable`1<CatchBlock> handlers);
 | 
     static public TryExpression MakeTry(Type type, Expression body, Expression finally, Expression fault, IEnumerable`1<CatchBlock> handlers);
 | 
| 
     static public UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type);
 | 
     static public UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type);
 | 
| 
     static public UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type, MethodInfo method);
 | 
     static public UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type, MethodInfo method);
 | 
| 
     static public MemberMemberBinding MemberBind(MemberInfo member, MemberBinding bindings);
 | 
     static public MemberMemberBinding MemberBind(MemberInfo member, MemberBinding bindings);
 | 
| 
     static public MemberMemberBinding MemberBind(MemberInfo member, IEnumerable`1<MemberBinding> bindings);
 | 
     static public MemberMemberBinding MemberBind(MemberInfo member, IEnumerable`1<MemberBinding> bindings);
 | 
| 
     static public MemberMemberBinding MemberBind(MethodInfo propertyAccessor, MemberBinding bindings);
 | 
     static public MemberMemberBinding MemberBind(MethodInfo propertyAccessor, MemberBinding bindings);
 | 
| 
     static public MemberMemberBinding MemberBind(MethodInfo propertyAccessor, IEnumerable`1<MemberBinding> bindings);
 | 
     static public MemberMemberBinding MemberBind(MethodInfo propertyAccessor, IEnumerable`1<MemberBinding> bindings);
 | 
| 
     static public MemberInitExpression MemberInit(NewExpression newExpression, MemberBinding bindings);
 | 
     static public MemberInitExpression MemberInit(NewExpression newExpression, MemberBinding bindings);
 | 
| 
     static public MemberInitExpression MemberInit(NewExpression newExpression, IEnumerable`1<MemberBinding> bindings);
 | 
     static public MemberInitExpression MemberInit(NewExpression newExpression, IEnumerable`1<MemberBinding> bindings);
 | 
| 
     static public BinaryExpression Modulo(Expression left, Expression right);
 | 
     static public BinaryExpression Modulo(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Modulo(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression Modulo(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression ModuloAssign(Expression left, Expression right);
 | 
     static public BinaryExpression ModuloAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression ModuloAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression ModuloAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression ModuloAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression ModuloAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression Multiply(Expression left, Expression right);
 | 
     static public BinaryExpression Multiply(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Multiply(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression Multiply(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression MultiplyAssign(Expression left, Expression right);
 | 
     static public BinaryExpression MultiplyAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression MultiplyAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression MultiplyAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression MultiplyAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression MultiplyAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression MultiplyAssignChecked(Expression left, Expression right);
 | 
     static public BinaryExpression MultiplyAssignChecked(Expression left, Expression right);
 | 
| 
     static public BinaryExpression MultiplyAssignChecked(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression MultiplyAssignChecked(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression MultiplyAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression MultiplyAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression MultiplyChecked(Expression left, Expression right);
 | 
     static public BinaryExpression MultiplyChecked(Expression left, Expression right);
 | 
| 
     static public BinaryExpression MultiplyChecked(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression MultiplyChecked(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public UnaryExpression Negate(Expression expression);
 | 
     static public UnaryExpression Negate(Expression expression);
 | 
| 
     static public UnaryExpression Negate(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression Negate(Expression expression, MethodInfo method);
 | 
| 
     static public UnaryExpression NegateChecked(Expression expression);
 | 
     static public UnaryExpression NegateChecked(Expression expression);
 | 
| 
     static public UnaryExpression NegateChecked(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression NegateChecked(Expression expression, MethodInfo method);
 | 
| 
     static public NewExpression New(ConstructorInfo constructor);
 | 
     static public NewExpression New(ConstructorInfo constructor);
 | 
| 
     static public NewExpression New(ConstructorInfo constructor, Expression arguments);
 | 
     static public NewExpression New(ConstructorInfo constructor, Expression arguments);
 | 
| 
     static public NewExpression New(ConstructorInfo constructor, IEnumerable`1<Expression> arguments);
 | 
     static public NewExpression New(ConstructorInfo constructor, IEnumerable`1<Expression> arguments);
 | 
| 
     static public NewExpression New(ConstructorInfo constructor, IEnumerable`1<Expression> arguments, IEnumerable`1<MemberInfo> members);
 | 
     static public NewExpression New(ConstructorInfo constructor, IEnumerable`1<Expression> arguments, IEnumerable`1<MemberInfo> members);
 | 
| 
     static public NewExpression New(ConstructorInfo constructor, IEnumerable`1<Expression> arguments, MemberInfo members);
 | 
     static public NewExpression New(ConstructorInfo constructor, IEnumerable`1<Expression> arguments, MemberInfo members);
 | 
| 
     static public NewExpression New(Type type);
 | 
     static public NewExpression New(Type type);
 | 
| 
     static public NewArrayExpression NewArrayBounds(Type type, Expression bounds);
 | 
     static public NewArrayExpression NewArrayBounds(Type type, Expression bounds);
 | 
| 
     static public NewArrayExpression NewArrayBounds(Type type, IEnumerable`1<Expression> bounds);
 | 
     static public NewArrayExpression NewArrayBounds(Type type, IEnumerable`1<Expression> bounds);
 | 
| 
     static public NewArrayExpression NewArrayInit(Type type, Expression initializers);
 | 
     static public NewArrayExpression NewArrayInit(Type type, Expression initializers);
 | 
| 
     static public NewArrayExpression NewArrayInit(Type type, IEnumerable`1<Expression> initializers);
 | 
     static public NewArrayExpression NewArrayInit(Type type, IEnumerable`1<Expression> initializers);
 | 
| 
     static public UnaryExpression Not(Expression expression);
 | 
     static public UnaryExpression Not(Expression expression);
 | 
| 
     static public UnaryExpression Not(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression Not(Expression expression, MethodInfo method);
 | 
| 
     static public BinaryExpression NotEqual(Expression left, Expression right);
 | 
     static public BinaryExpression NotEqual(Expression left, Expression right);
 | 
| 
     static public BinaryExpression NotEqual(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
     static public BinaryExpression NotEqual(Expression left, Expression right, Boolean liftToNull, MethodInfo method);
 | 
| 
     static public UnaryExpression OnesComplement(Expression expression);
 | 
     static public UnaryExpression OnesComplement(Expression expression);
 | 
| 
     static public UnaryExpression OnesComplement(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression OnesComplement(Expression expression, MethodInfo method);
 | 
| 
     static public BinaryExpression Or(Expression left, Expression right);
 | 
     static public BinaryExpression Or(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Or(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression Or(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression OrAssign(Expression left, Expression right);
 | 
     static public BinaryExpression OrAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression OrAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression OrAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression OrAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression OrAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression OrElse(Expression left, Expression right);
 | 
     static public BinaryExpression OrElse(Expression left, Expression right);
 | 
| 
     static public BinaryExpression OrElse(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression OrElse(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public ParameterExpression Parameter(Type type);
 | 
     static public ParameterExpression Parameter(Type type);
 | 
| 
     static public ParameterExpression Parameter(Type type, String name);
 | 
     static public ParameterExpression Parameter(Type type, String name);
 | 
| 
     static public UnaryExpression PostDecrementAssign(Expression expression);
 | 
     static public UnaryExpression PostDecrementAssign(Expression expression);
 | 
| 
     static public UnaryExpression PostDecrementAssign(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression PostDecrementAssign(Expression expression, MethodInfo method);
 | 
| 
     static public UnaryExpression PostIncrementAssign(Expression expression);
 | 
     static public UnaryExpression PostIncrementAssign(Expression expression);
 | 
| 
     static public UnaryExpression PostIncrementAssign(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression PostIncrementAssign(Expression expression, MethodInfo method);
 | 
| 
     static public BinaryExpression Power(Expression left, Expression right);
 | 
     static public BinaryExpression Power(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Power(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression Power(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression PowerAssign(Expression left, Expression right);
 | 
     static public BinaryExpression PowerAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression PowerAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression PowerAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression PowerAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression PowerAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public UnaryExpression PreDecrementAssign(Expression expression);
 | 
     static public UnaryExpression PreDecrementAssign(Expression expression);
 | 
| 
     static public UnaryExpression PreDecrementAssign(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression PreDecrementAssign(Expression expression, MethodInfo method);
 | 
| 
     static public UnaryExpression PreIncrementAssign(Expression expression);
 | 
     static public UnaryExpression PreIncrementAssign(Expression expression);
 | 
| 
     static public UnaryExpression PreIncrementAssign(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression PreIncrementAssign(Expression expression, MethodInfo method);
 | 
| 
     static public IndexExpression Property(Expression instance, String propertyName, Expression arguments);
 | 
     static public IndexExpression Property(Expression instance, String propertyName, Expression arguments);
 | 
| 
     static public IndexExpression Property(Expression instance, PropertyInfo indexer, Expression arguments);
 | 
     static public IndexExpression Property(Expression instance, PropertyInfo indexer, Expression arguments);
 | 
| 
     static public IndexExpression Property(Expression instance, PropertyInfo indexer, IEnumerable`1<Expression> arguments);
 | 
     static public IndexExpression Property(Expression instance, PropertyInfo indexer, IEnumerable`1<Expression> arguments);
 | 
| 
     static public MemberExpression Property(Expression expression, String propertyName);
 | 
     static public MemberExpression Property(Expression expression, String propertyName);
 | 
| 
     static public MemberExpression Property(Expression expression, Type type, String propertyName);
 | 
     static public MemberExpression Property(Expression expression, Type type, String propertyName);
 | 
| 
     static public MemberExpression Property(Expression expression, PropertyInfo property);
 | 
     static public MemberExpression Property(Expression expression, PropertyInfo property);
 | 
| 
     static public MemberExpression Property(Expression expression, MethodInfo propertyAccessor);
 | 
     static public MemberExpression Property(Expression expression, MethodInfo propertyAccessor);
 | 
| 
     static public MemberExpression PropertyOrField(Expression expression, String propertyOrFieldName);
 | 
     static public MemberExpression PropertyOrField(Expression expression, String propertyOrFieldName);
 | 
| 
     static public UnaryExpression Quote(Expression expression);
 | 
     static public UnaryExpression Quote(Expression expression);
 | 
| 
     public virtual Expression Reduce();
 | 
     public virtual Expression Reduce();
 | 
| 
     public Expression ReduceAndCheck();
 | 
     public Expression ReduceAndCheck();
 | 
| 
     public Expression ReduceExtensions();
 | 
     public Expression ReduceExtensions();
 | 
| 
     static public BinaryExpression ReferenceEqual(Expression left, Expression right);
 | 
     static public BinaryExpression ReferenceEqual(Expression left, Expression right);
 | 
| 
     static public BinaryExpression ReferenceNotEqual(Expression left, Expression right);
 | 
     static public BinaryExpression ReferenceNotEqual(Expression left, Expression right);
 | 
| 
     static public UnaryExpression Rethrow();
 | 
     static public UnaryExpression Rethrow();
 | 
| 
     static public UnaryExpression Rethrow(Type type);
 | 
     static public UnaryExpression Rethrow(Type type);
 | 
| 
     static public GotoExpression Return(LabelTarget target);
 | 
     static public GotoExpression Return(LabelTarget target);
 | 
| 
     static public GotoExpression Return(LabelTarget target, Type type);
 | 
     static public GotoExpression Return(LabelTarget target, Type type);
 | 
| 
     static public GotoExpression Return(LabelTarget target, Expression value);
 | 
     static public GotoExpression Return(LabelTarget target, Expression value);
 | 
| 
     static public GotoExpression Return(LabelTarget target, Expression value, Type type);
 | 
     static public GotoExpression Return(LabelTarget target, Expression value, Type type);
 | 
| 
     static public BinaryExpression RightShift(Expression left, Expression right);
 | 
     static public BinaryExpression RightShift(Expression left, Expression right);
 | 
| 
     static public BinaryExpression RightShift(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression RightShift(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression RightShiftAssign(Expression left, Expression right);
 | 
     static public BinaryExpression RightShiftAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression RightShiftAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression RightShiftAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression RightShiftAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression RightShiftAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public RuntimeVariablesExpression RuntimeVariables(ParameterExpression variables);
 | 
     static public RuntimeVariablesExpression RuntimeVariables(ParameterExpression variables);
 | 
| 
     static public RuntimeVariablesExpression RuntimeVariables(IEnumerable`1<ParameterExpression> variables);
 | 
     static public RuntimeVariablesExpression RuntimeVariables(IEnumerable`1<ParameterExpression> variables);
 | 
| 
     static public BinaryExpression Subtract(Expression left, Expression right);
 | 
     static public BinaryExpression Subtract(Expression left, Expression right);
 | 
| 
     static public BinaryExpression Subtract(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression Subtract(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression SubtractAssign(Expression left, Expression right);
 | 
     static public BinaryExpression SubtractAssign(Expression left, Expression right);
 | 
| 
     static public BinaryExpression SubtractAssign(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression SubtractAssign(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression SubtractAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression SubtractAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression SubtractAssignChecked(Expression left, Expression right);
 | 
     static public BinaryExpression SubtractAssignChecked(Expression left, Expression right);
 | 
| 
     static public BinaryExpression SubtractAssignChecked(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression SubtractAssignChecked(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public BinaryExpression SubtractAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
     static public BinaryExpression SubtractAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
 | 
| 
     static public BinaryExpression SubtractChecked(Expression left, Expression right);
 | 
     static public BinaryExpression SubtractChecked(Expression left, Expression right);
 | 
| 
     static public BinaryExpression SubtractChecked(Expression left, Expression right, MethodInfo method);
 | 
     static public BinaryExpression SubtractChecked(Expression left, Expression right, MethodInfo method);
 | 
| 
     static public SwitchExpression Switch(Expression switchValue, SwitchCase cases);
 | 
     static public SwitchExpression Switch(Expression switchValue, SwitchCase cases);
 | 
| 
     static public SwitchExpression Switch(Expression switchValue, Expression defaultBody, SwitchCase cases);
 | 
     static public SwitchExpression Switch(Expression switchValue, Expression defaultBody, SwitchCase cases);
 | 
| 
     static public SwitchExpression Switch(Expression switchValue, Expression defaultBody, MethodInfo comparison, SwitchCase cases);
 | 
     static public SwitchExpression Switch(Expression switchValue, Expression defaultBody, MethodInfo comparison, SwitchCase cases);
 | 
| 
     static public SwitchExpression Switch(Type type, Expression switchValue, Expression defaultBody, MethodInfo comparison, SwitchCase cases);
 | 
     static public SwitchExpression Switch(Type type, Expression switchValue, Expression defaultBody, MethodInfo comparison, SwitchCase cases);
 | 
| 
     static public SwitchExpression Switch(Expression switchValue, Expression defaultBody, MethodInfo comparison, IEnumerable`1<SwitchCase> cases);
 | 
     static public SwitchExpression Switch(Expression switchValue, Expression defaultBody, MethodInfo comparison, IEnumerable`1<SwitchCase> cases);
 | 
| 
     static public SwitchExpression Switch(Type type, Expression switchValue, Expression defaultBody, MethodInfo comparison, IEnumerable`1<SwitchCase> cases);
 | 
     static public SwitchExpression Switch(Type type, Expression switchValue, Expression defaultBody, MethodInfo comparison, IEnumerable`1<SwitchCase> cases);
 | 
| 
     static public SwitchCase SwitchCase(Expression body, Expression testValues);
 | 
     static public SwitchCase SwitchCase(Expression body, Expression testValues);
 | 
| 
     static public SwitchCase SwitchCase(Expression body, IEnumerable`1<Expression> testValues);
 | 
     static public SwitchCase SwitchCase(Expression body, IEnumerable`1<Expression> testValues);
 | 
| 
     static public SymbolDocumentInfo SymbolDocument(String fileName);
 | 
     static public SymbolDocumentInfo SymbolDocument(String fileName);
 | 
| 
     static public SymbolDocumentInfo SymbolDocument(String fileName, Guid language);
 | 
     static public SymbolDocumentInfo SymbolDocument(String fileName, Guid language);
 | 
| 
     static public SymbolDocumentInfo SymbolDocument(String fileName, Guid language, Guid languageVendor);
 | 
     static public SymbolDocumentInfo SymbolDocument(String fileName, Guid language, Guid languageVendor);
 | 
| 
     static public SymbolDocumentInfo SymbolDocument(String fileName, Guid language, Guid languageVendor, Guid documentType);
 | 
     static public SymbolDocumentInfo SymbolDocument(String fileName, Guid language, Guid languageVendor, Guid documentType);
 | 
| 
     static public UnaryExpression Throw(Expression value);
 | 
     static public UnaryExpression Throw(Expression value);
 | 
| 
     static public UnaryExpression Throw(Expression value, Type type);
 | 
     static public UnaryExpression Throw(Expression value, Type type);
 | 
| 
     public virtual String ToString();
 | 
     public virtual String ToString();
 | 
| 
     static public TryExpression TryCatch(Expression body, CatchBlock handlers);
 | 
     static public TryExpression TryCatch(Expression body, CatchBlock handlers);
 | 
| 
     static public TryExpression TryCatchFinally(Expression body, Expression finally, CatchBlock handlers);
 | 
     static public TryExpression TryCatchFinally(Expression body, Expression finally, CatchBlock handlers);
 | 
| 
     static public TryExpression TryFault(Expression body, Expression fault);
 | 
     static public TryExpression TryFault(Expression body, Expression fault);
 | 
| 
     static public TryExpression TryFinally(Expression body, Expression finally);
 | 
     static public TryExpression TryFinally(Expression body, Expression finally);
 | 
| 
     static public Boolean TryGetActionType(Type typeArgs, out Type& actionType);
 | 
     static public Boolean TryGetActionType(Type typeArgs, out Type& actionType);
 | 
| 
     static public Boolean TryGetFuncType(Type typeArgs, out Type& funcType);
 | 
     static public Boolean TryGetFuncType(Type typeArgs, out Type& funcType);
 | 
| 
     static public UnaryExpression TypeAs(Expression expression, Type type);
 | 
     static public UnaryExpression TypeAs(Expression expression, Type type);
 | 
| 
     static public TypeBinaryExpression TypeEqual(Expression expression, Type type);
 | 
     static public TypeBinaryExpression TypeEqual(Expression expression, Type type);
 | 
| 
     static public TypeBinaryExpression TypeIs(Expression expression, Type type);
 | 
     static public TypeBinaryExpression TypeIs(Expression expression, Type type);
 | 
| 
     static public UnaryExpression UnaryPlus(Expression expression);
 | 
     static public UnaryExpression UnaryPlus(Expression expression);
 | 
| 
     static public UnaryExpression UnaryPlus(Expression expression, MethodInfo method);
 | 
     static public UnaryExpression UnaryPlus(Expression expression, MethodInfo method);
 | 
| 
     static public UnaryExpression Unbox(Expression expression, Type type);
 | 
     static public UnaryExpression Unbox(Expression expression, Type type);
 | 
| 
     static public ParameterExpression Variable(Type type);
 | 
     static public ParameterExpression Variable(Type type);
 | 
| 
     static public ParameterExpression Variable(Type type, String name);
 | 
     static public ParameterExpression Variable(Type type, String name);
 |