Silverlight 5 WinRT

public class BinaryExpression public class BinaryExpression
: Expression : Expression
public virtual Boolean CanReduce { get; } public virtual Boolean CanReduce { get; }
public LambdaExpression Conversion { get; } public LambdaExpression Conversion { get; }
public Boolean IsLifted { get; } public Boolean IsLifted { get; }
public Boolean IsLiftedToNull { get; } public Boolean IsLiftedToNull { get; }
public Expression Left { get; } public Expression Left { get; }
public MethodInfo Method { get; } public MethodInfo Method { get; }
public Expression Right { get; } public Expression Right { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public virtual Expression Reduce(); public virtual Expression Reduce();
public BinaryExpression Update(Expression left, LambdaExpression conversion, Expression right); public BinaryExpression Update(Expression left, LambdaExpression conversion, Expression right);

public class BlockExpression public class BlockExpression
: Expression : Expression
public ReadOnlyCollection`1<Expression> Expressions { get; } public ReadOnlyCollection`1<Expression> Expressions { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public Expression Result { get; } public Expression Result { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
public ReadOnlyCollection`1<ParameterExpression> Variables { get; } public ReadOnlyCollection`1<ParameterExpression> Variables { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public BlockExpression Update(IEnumerable`1<ParameterExpression> variables, IEnumerable`1<Expression> expressions); public BlockExpression Update(IEnumerable`1<ParameterExpression> variables, IEnumerable`1<Expression> expressions);

public sealed class CatchBlock public sealed class CatchBlock
public Expression Body { get; } public Expression Body { get; }
public Expression Filter { get; } public Expression Filter { get; }
public Type Test { get; } public Type Test { get; }
public ParameterExpression Variable { get; } public ParameterExpression Variable { get; }
public virtual String ToString(); public virtual String ToString();
public CatchBlock Update(ParameterExpression variable, Expression filter, Expression body); public CatchBlock Update(ParameterExpression variable, Expression filter, Expression body);

public class ConditionalExpression public class ConditionalExpression
: Expression : Expression
public Expression IfFalse { get; } public Expression IfFalse { get; }
public Expression IfTrue { get; } public Expression IfTrue { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public Expression Test { get; } public Expression Test { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public ConditionalExpression Update(Expression test, Expression ifTrue, Expression ifFalse); public ConditionalExpression Update(Expression test, Expression ifTrue, Expression ifFalse);

public class ConstantExpression public class ConstantExpression
: Expression : Expression
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
public Object Value { get; } public Object Value { get; }

public class DebugInfoExpression public class DebugInfoExpression
: Expression : Expression
public SymbolDocumentInfo Document { get; } public SymbolDocumentInfo Document { get; }
public virtual Int32 EndColumn { get; } public virtual Int32 EndColumn { get; }
public virtual Int32 EndLine { get; } public virtual Int32 EndLine { get; }
public virtual Boolean IsClear { get; } public virtual Boolean IsClear { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public virtual Int32 StartColumn { get; } public virtual Int32 StartColumn { get; }
public virtual Int32 StartLine { get; } public virtual Int32 StartLine { get; }
public virtual Type Type { get; } public virtual Type Type { get; }

public sealed class DefaultExpression public sealed class DefaultExpression
: Expression : Expression
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public virtual Type Type { get; } public virtual Type Type { get; }

public class DynamicExpression public class DynamicExpression
: Expression, IArgumentProvider : Expression, IArgumentProvider
public ReadOnlyCollection`1<Expression> Arguments { get; } public ReadOnlyCollection`1<Expression> Arguments { get; }
public CallSiteBinder Binder { get; } public CallSiteBinder Binder { get; }
public Type DelegateType { get; } public Type DelegateType { 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 DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arguments);
  static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, IEnumerable`1<Expression> arguments);
  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, Expression arg2);
  static public DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
  static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, IEnumerable`1<Expression> arguments);
  static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arguments);
  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, Expression arg2);
  static public DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
public DynamicExpression Update(IEnumerable`1<Expression> arguments); public DynamicExpression Update(IEnumerable`1<Expression> arguments);

  public abstract class DynamicExpressionVisitor
  : ExpressionVisitor
  internal protected virtual Expression VisitDynamic(DynamicExpression node);

public sealed class ElementInit public sealed class ElementInit
: IArgumentProvider : IArgumentProvider
public MethodInfo AddMethod { get; } public MethodInfo AddMethod { get; }
public ReadOnlyCollection`1<Expression> Arguments { get; } public ReadOnlyCollection`1<Expression> Arguments { get; }
public virtual String ToString(); public virtual String ToString();
public ElementInit Update(IEnumerable`1<Expression> arguments); public ElementInit Update(IEnumerable`1<Expression> arguments);

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);

public sealed class Expression`1<TDelegate> public sealed class Expression`1<TDelegate>
: LambdaExpression : LambdaExpression
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public TDelegate Compile(); public TDelegate Compile();
public TDelegate Compile(DebugInfoGenerator debugInfoGenerator); public TDelegate Compile(DebugInfoGenerator debugInfoGenerator);
public Expression`1<TDelegate> Update(Expression body, IEnumerable`1<ParameterExpression> parameters); public Expression`1<> Update(Expression body, IEnumerable`1<ParameterExpression> parameters);

public sealed enum ExpressionType public sealed enum ExpressionType
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Add, AddChecked, And, AndAlso, ArrayLength, ArrayIndex, Call, Coalesce, Conditional, Constant, Convert, ConvertChecked, Divide, Equal, ExclusiveOr, GreaterThan, GreaterThanOrEqual, Invoke, Lambda, LeftShift, LessThan, LessThanOrEqual, ListInit, MemberAccess, MemberInit, Modulo, Multiply, MultiplyChecked, Negate, UnaryPlus, NegateChecked, New, NewArrayInit, NewArrayBounds, Not, NotEqual, Or, OrElse, Parameter, Power, Quote, RightShift, Subtract, SubtractChecked, TypeAs, TypeIs, Assign, Block, DebugInfo, Decrement, Dynamic, Default, Extension, Goto, Increment, Index, Label, RuntimeVariables, Loop, Switch, Throw, Try, Unbox, AddAssign, AndAssign, DivideAssign, ExclusiveOrAssign, LeftShiftAssign, ModuloAssign, MultiplyAssign, OrAssign, PowerAssign, RightShiftAssign, SubtractAssign, AddAssignChecked, MultiplyAssignChecked, SubtractAssignChecked, PreIncrementAssign, PreDecrementAssign, PostIncrementAssign, PostDecrementAssign, TypeEqual, OnesComplement, IsTrue, IsFalse } { Add, AddChecked, And, AndAlso, ArrayLength, ArrayIndex, Call, Coalesce, Conditional, Constant, Convert, ConvertChecked, Divide, Equal, ExclusiveOr, GreaterThan, GreaterThanOrEqual, Invoke, Lambda, LeftShift, LessThan, LessThanOrEqual, ListInit, MemberAccess, MemberInit, Modulo, Multiply, MultiplyChecked, Negate, UnaryPlus, NegateChecked, New, NewArrayInit, NewArrayBounds, Not, NotEqual, Or, OrElse, Parameter, Power, Quote, RightShift, Subtract, SubtractChecked, TypeAs, TypeIs, Assign, Block, DebugInfo, Decrement, Dynamic, Default, Extension, Goto, Increment, Index, Label, RuntimeVariables, Loop, Switch, Throw, Try, Unbox, AddAssign, AndAssign, DivideAssign, ExclusiveOrAssign, LeftShiftAssign, ModuloAssign, MultiplyAssign, OrAssign, PowerAssign, RightShiftAssign, SubtractAssign, AddAssignChecked, MultiplyAssignChecked, SubtractAssignChecked, PreIncrementAssign, PreDecrementAssign, PostIncrementAssign, PostDecrementAssign, TypeEqual, OnesComplement, IsTrue, IsFalse }

public abstract class ExpressionVisitor public abstract class ExpressionVisitor
  public ReadOnlyCollection`1<Expression> Visit(ReadOnlyCollection`1<Expression> nodes);
public virtual Expression Visit(Expression node); public virtual Expression Visit(Expression node);
public ReadOnlyCollection`1<Expression> Visit(ReadOnlyCollection`1<Expression> nodes); static public ReadOnlyCollection`1<T> Visit(ReadOnlyCollection`1<T> nodes, Func`2<T, T> elementVisitor);
static public ReadOnlyCollection`1<T> Visit(ReadOnlyCollection`1<T> nodes, Func`2<T, T> elementVisitor);  
public T VisitAndConvert(T node, String callerName); public T VisitAndConvert(T node, String callerName);
public ReadOnlyCollection`1<T> VisitAndConvert(ReadOnlyCollection`1<T> nodes, String callerName); public ReadOnlyCollection`1<T> VisitAndConvert(ReadOnlyCollection`1<T> nodes, String callerName);
  internal protected virtual Expression VisitBinary(BinaryExpression node);
  internal protected virtual Expression VisitBlock(BlockExpression node);
  protected virtual CatchBlock VisitCatchBlock(CatchBlock node);
  internal protected virtual Expression VisitConditional(ConditionalExpression node);
  internal protected virtual Expression VisitConstant(ConstantExpression node);
  internal protected virtual Expression VisitDebugInfo(DebugInfoExpression node);
  internal protected virtual Expression VisitDefault(DefaultExpression node);
  internal protected virtual Expression VisitDynamic(DynamicExpression node);
  protected virtual ElementInit VisitElementInit(ElementInit node);
  internal protected virtual Expression VisitExtension(Expression node);
  internal protected virtual Expression VisitGoto(GotoExpression node);
  internal protected virtual Expression VisitIndex(IndexExpression node);
  internal protected virtual Expression VisitInvocation(InvocationExpression node);
  internal protected virtual Expression VisitLabel(LabelExpression node);
  protected virtual LabelTarget VisitLabelTarget(LabelTarget node);
  internal protected virtual Expression VisitLambda(Expression`1<T> node);
  internal protected virtual Expression VisitListInit(ListInitExpression node);
  internal protected virtual Expression VisitLoop(LoopExpression node);
  internal protected virtual Expression VisitMember(MemberExpression node);
  protected virtual MemberAssignment VisitMemberAssignment(MemberAssignment node);
  protected virtual MemberBinding VisitMemberBinding(MemberBinding node);
  internal protected virtual Expression VisitMemberInit(MemberInitExpression node);
  protected virtual MemberListBinding VisitMemberListBinding(MemberListBinding node);
  protected virtual MemberMemberBinding VisitMemberMemberBinding(MemberMemberBinding node);
  internal protected virtual Expression VisitMethodCall(MethodCallExpression node);
  internal protected virtual Expression VisitNew(NewExpression node);
  internal protected virtual Expression VisitNewArray(NewArrayExpression node);
  internal protected virtual Expression VisitParameter(ParameterExpression node);
  internal protected virtual Expression VisitRuntimeVariables(RuntimeVariablesExpression node);
  internal protected virtual Expression VisitSwitch(SwitchExpression node);
  protected virtual SwitchCase VisitSwitchCase(SwitchCase node);
  internal protected virtual Expression VisitTry(TryExpression node);
  internal protected virtual Expression VisitTypeBinary(TypeBinaryExpression node);

public sealed class GotoExpression public sealed class GotoExpression
: Expression : Expression
public GotoExpressionKind Kind { get; } public GotoExpressionKind Kind { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public LabelTarget Target { get; } public LabelTarget Target { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
public Expression Value { get; } public Expression Value { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public GotoExpression Update(LabelTarget target, Expression value); public GotoExpression Update(LabelTarget target, Expression value);

public sealed enum GotoExpressionKind public sealed enum GotoExpressionKind
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Goto, Return, Break, Continue } { Goto, Return, Break, Continue }

public sealed class IndexExpression public sealed class IndexExpression
: Expression, IArgumentProvider : Expression, IArgumentProvider
public ReadOnlyCollection`1<Expression> Arguments { get; } public ReadOnlyCollection`1<Expression> Arguments { get; }
public PropertyInfo Indexer { get; } public PropertyInfo Indexer { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public Expression Object { get; } public Expression Object { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public IndexExpression Update(Expression object, IEnumerable`1<Expression> arguments); public IndexExpression Update(Expression object, IEnumerable`1<Expression> arguments);

public sealed class InvocationExpression public sealed class InvocationExpression
: Expression, IArgumentProvider : Expression, IArgumentProvider
public ReadOnlyCollection`1<Expression> Arguments { get; } public ReadOnlyCollection`1<Expression> Arguments { get; }
public Expression Expression { get; } public Expression Expression { 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);
public InvocationExpression Update(Expression expression, IEnumerable`1<Expression> arguments); public InvocationExpression Update(Expression expression, IEnumerable`1<Expression> arguments);

public sealed class LabelExpression public sealed class LabelExpression
: Expression : Expression
public Expression DefaultValue { get; } public Expression DefaultValue { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public LabelTarget Target { get; } public LabelTarget Target { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public LabelExpression Update(LabelTarget target, Expression defaultValue); public LabelExpression Update(LabelTarget target, Expression defaultValue);

public sealed class LabelTarget public sealed class LabelTarget
public String Name { get; } public String Name { get; }
public Type Type { get; } public Type Type { get; }
public virtual String ToString(); public virtual String ToString();

public abstract class LambdaExpression public abstract class LambdaExpression
: Expression : Expression
public Expression Body { get; } public Expression Body { get; }
public String Name { get; } public String Name { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public ReadOnlyCollection`1<ParameterExpression> Parameters { get; } public ReadOnlyCollection`1<ParameterExpression> Parameters { get; }
public Type ReturnType { get; } public Type ReturnType { get; }
public Boolean TailCall { get; } public Boolean TailCall { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
public Delegate Compile(); public Delegate Compile();
public Delegate Compile(DebugInfoGenerator debugInfoGenerator); public Delegate Compile(DebugInfoGenerator debugInfoGenerator);
public void CompileToMethod(MethodBuilder method); public void CompileToMethod(MethodBuilder method);
public void CompileToMethod(MethodBuilder method, DebugInfoGenerator debugInfoGenerator); public void CompileToMethod(MethodBuilder method, DebugInfoGenerator debugInfoGenerator);

public sealed class ListInitExpression public sealed class ListInitExpression
: Expression : Expression
public virtual Boolean CanReduce { get; } public virtual Boolean CanReduce { get; }
public ReadOnlyCollection`1<ElementInit> Initializers { get; } public ReadOnlyCollection`1<ElementInit> Initializers { get; }
public NewExpression NewExpression { get; } public NewExpression NewExpression { 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);
public virtual Expression Reduce(); public virtual Expression Reduce();
public ListInitExpression Update(NewExpression newExpression, IEnumerable`1<ElementInit> initializers); public ListInitExpression Update(NewExpression newExpression, IEnumerable`1<ElementInit> initializers);

public sealed class LoopExpression public sealed class LoopExpression
: Expression : Expression
public Expression Body { get; } public Expression Body { get; }
public LabelTarget BreakLabel { get; } public LabelTarget BreakLabel { get; }
public LabelTarget ContinueLabel { get; } public LabelTarget ContinueLabel { 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);
public LoopExpression Update(LabelTarget breakLabel, LabelTarget continueLabel, Expression body); public LoopExpression Update(LabelTarget breakLabel, LabelTarget continueLabel, Expression body);

public sealed class MemberAssignment public sealed class MemberAssignment
: MemberBinding : MemberBinding
public Expression Expression { get; } public Expression Expression { get; }
public MemberAssignment Update(Expression expression); public MemberAssignment Update(Expression expression);

public abstract class MemberBinding public abstract class MemberBinding
public MemberBindingType BindingType { get; } public MemberBindingType BindingType { get; }
public MemberInfo Member { get; } public MemberInfo Member { get; }
public virtual String ToString(); public virtual String ToString();

public sealed enum MemberBindingType public sealed enum MemberBindingType
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Assignment, MemberBinding, ListBinding } { Assignment, MemberBinding, ListBinding }

public class MemberExpression public class MemberExpression
: Expression : Expression
public Expression Expression { get; } public Expression Expression { get; }
public MemberInfo Member { get; } public MemberInfo Member { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public MemberExpression Update(Expression expression); public MemberExpression Update(Expression expression);

public sealed class MemberInitExpression public sealed class MemberInitExpression
: Expression : Expression
public ReadOnlyCollection`1<MemberBinding> Bindings { get; } public ReadOnlyCollection`1<MemberBinding> Bindings { get; }
public virtual Boolean CanReduce { get; } public virtual Boolean CanReduce { get; }
public NewExpression NewExpression { get; } public NewExpression NewExpression { 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);
public virtual Expression Reduce(); public virtual Expression Reduce();
public MemberInitExpression Update(NewExpression newExpression, IEnumerable`1<MemberBinding> bindings); public MemberInitExpression Update(NewExpression newExpression, IEnumerable`1<MemberBinding> bindings);

public sealed class MemberListBinding public sealed class MemberListBinding
: MemberBinding : MemberBinding
public ReadOnlyCollection`1<ElementInit> Initializers { get; } public ReadOnlyCollection`1<ElementInit> Initializers { get; }
public MemberListBinding Update(IEnumerable`1<ElementInit> initializers); public MemberListBinding Update(IEnumerable`1<ElementInit> initializers);

public sealed class MemberMemberBinding public sealed class MemberMemberBinding
: MemberBinding : MemberBinding
public ReadOnlyCollection`1<MemberBinding> Bindings { get; } public ReadOnlyCollection`1<MemberBinding> Bindings { get; }
public MemberMemberBinding Update(IEnumerable`1<MemberBinding> bindings); public MemberMemberBinding Update(IEnumerable`1<MemberBinding> bindings);

public class MethodCallExpression public class MethodCallExpression
: Expression, IArgumentProvider : Expression, IArgumentProvider
public ReadOnlyCollection`1<Expression> Arguments { get; } public ReadOnlyCollection`1<Expression> Arguments { get; }
public MethodInfo Method { get; } public MethodInfo Method { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public Expression Object { get; } public Expression Object { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public MethodCallExpression Update(Expression object, IEnumerable`1<Expression> arguments); public MethodCallExpression Update(Expression object, IEnumerable`1<Expression> arguments);

public class NewArrayExpression public class NewArrayExpression
: Expression : Expression
public ReadOnlyCollection`1<Expression> Expressions { get; } public ReadOnlyCollection`1<Expression> Expressions { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public NewArrayExpression Update(IEnumerable`1<Expression> expressions); public NewArrayExpression Update(IEnumerable`1<Expression> expressions);

public class NewExpression public class NewExpression
: Expression, IArgumentProvider : Expression, IArgumentProvider
public ReadOnlyCollection`1<Expression> Arguments { get; } public ReadOnlyCollection`1<Expression> Arguments { get; }
public ConstructorInfo Constructor { get; } public ConstructorInfo Constructor { get; }
public ReadOnlyCollection`1<MemberInfo> Members { get; } public ReadOnlyCollection`1<MemberInfo> Members { 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);
public NewExpression Update(IEnumerable`1<Expression> arguments); public NewExpression Update(IEnumerable`1<Expression> arguments);

public class ParameterExpression public class ParameterExpression
: Expression : Expression
public Boolean IsByRef { get; } public Boolean IsByRef { get; }
public String Name { get; } public String Name { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public virtual Type Type { get; } public virtual Type Type { get; }

public sealed class RuntimeVariablesExpression public sealed class RuntimeVariablesExpression
: Expression : Expression
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
public ReadOnlyCollection`1<ParameterExpression> Variables { get; } public ReadOnlyCollection`1<ParameterExpression> Variables { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public RuntimeVariablesExpression Update(IEnumerable`1<ParameterExpression> variables); public RuntimeVariablesExpression Update(IEnumerable`1<ParameterExpression> variables);

public sealed class SwitchCase public sealed class SwitchCase
public Expression Body { get; } public Expression Body { get; }
public ReadOnlyCollection`1<Expression> TestValues { get; } public ReadOnlyCollection`1<Expression> TestValues { get; }
public virtual String ToString(); public virtual String ToString();
public SwitchCase Update(IEnumerable`1<Expression> testValues, Expression body); public SwitchCase Update(IEnumerable`1<Expression> testValues, Expression body);

public sealed class SwitchExpression public sealed class SwitchExpression
: Expression : Expression
public ReadOnlyCollection`1<SwitchCase> Cases { get; } public ReadOnlyCollection`1<SwitchCase> Cases { get; }
public MethodInfo Comparison { get; } public MethodInfo Comparison { get; }
public Expression DefaultBody { get; } public Expression DefaultBody { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public Expression SwitchValue { get; } public Expression SwitchValue { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public SwitchExpression Update(Expression switchValue, IEnumerable`1<SwitchCase> cases, Expression defaultBody); public SwitchExpression Update(Expression switchValue, IEnumerable`1<SwitchCase> cases, Expression defaultBody);

public class SymbolDocumentInfo public class SymbolDocumentInfo
public virtual Guid DocumentType { get; } public virtual Guid DocumentType { get; }
public String FileName { get; } public String FileName { get; }
public virtual Guid Language { get; } public virtual Guid Language { get; }
public virtual Guid LanguageVendor { get; } public virtual Guid LanguageVendor { get; }

public sealed class TryExpression public sealed class TryExpression
: Expression : Expression
public Expression Body { get; } public Expression Body { get; }
public Expression Fault { get; } public Expression Fault { get; }
public Expression Finally { get; } public Expression Finally { get; }
public ReadOnlyCollection`1<CatchBlock> Handlers { get; } public ReadOnlyCollection`1<CatchBlock> Handlers { 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);
public TryExpression Update(Expression body, IEnumerable`1<CatchBlock> handlers, Expression finally, Expression fault); public TryExpression Update(Expression body, IEnumerable`1<CatchBlock> handlers, Expression finally, Expression fault);

public sealed class TypeBinaryExpression public sealed class TypeBinaryExpression
: Expression : Expression
public Expression Expression { get; } public Expression Expression { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
public Type TypeOperand { get; } public Type TypeOperand { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public TypeBinaryExpression Update(Expression expression); public TypeBinaryExpression Update(Expression expression);

public sealed class UnaryExpression public sealed class UnaryExpression
: Expression : Expression
public virtual Boolean CanReduce { get; } public virtual Boolean CanReduce { get; }
public Boolean IsLifted { get; } public Boolean IsLifted { get; }
public Boolean IsLiftedToNull { get; } public Boolean IsLiftedToNull { get; }
public MethodInfo Method { get; } public MethodInfo Method { get; }
public virtual ExpressionType NodeType { get; } public virtual ExpressionType NodeType { get; }
public Expression Operand { get; } public Expression Operand { get; }
public virtual Type Type { get; } public virtual Type Type { get; }
  internal protected virtual Expression Accept(ExpressionVisitor visitor);
public virtual Expression Reduce(); public virtual Expression Reduce();
public UnaryExpression Update(Expression operand); public UnaryExpression Update(Expression operand);