Show / Hide Table of Contents

Class QueryExpressionEqualityComparator

Base class for query expression equality comparer implementations. Default behavior matches trees in a structural fashion.

Inheritance
System.Object
ExpressionEqualityComparator
QueryExpressionEqualityComparator
Implements
System.Collections.Generic.IEqualityComparer<System.Linq.Expressions.Expression>
System.Collections.Generic.IEqualityComparer<System.Linq.Expressions.MemberBinding>
System.Collections.Generic.IEqualityComparer<System.Linq.Expressions.ElementInit>
System.Collections.Generic.IEqualityComparer<System.Linq.Expressions.CatchBlock>
System.Collections.Generic.IEqualityComparer<System.Linq.Expressions.SwitchCase>
System.Collections.Generic.IEqualityComparer<QueryTree>
Inherited Members
ExpressionEqualityComparator.Equals(Expression, Expression)
ExpressionEqualityComparator.EqualsBinary(BinaryExpression, BinaryExpression)
ExpressionEqualityComparator.EqualsConditional(ConditionalExpression, ConditionalExpression)
ExpressionEqualityComparator.EqualsConstant(ConstantExpression, ConstantExpression)
ExpressionEqualityComparator.EqualsInvocation(InvocationExpression, InvocationExpression)
ExpressionEqualityComparator.EqualsLambda(LambdaExpression, LambdaExpression)
ExpressionEqualityComparator.EqualsListInit(ListInitExpression, ListInitExpression)
ExpressionEqualityComparator.EqualsMember(MemberExpression, MemberExpression)
ExpressionEqualityComparator.EqualsMemberInit(MemberInitExpression, MemberInitExpression)
ExpressionEqualityComparator.EqualsMethodCall(MethodCallExpression, MethodCallExpression)
ExpressionEqualityComparator.EqualsNew(NewExpression, NewExpression)
ExpressionEqualityComparator.EqualsNewArray(NewArrayExpression, NewArrayExpression)
ExpressionEqualityComparator.EqualsParameter(ParameterExpression, ParameterExpression)
ExpressionEqualityComparator.EqualsTypeBinary(TypeBinaryExpression, TypeBinaryExpression)
ExpressionEqualityComparator.EqualsUnary(UnaryExpression, UnaryExpression)
ExpressionEqualityComparator.EqualsBlock(BlockExpression, BlockExpression)
ExpressionEqualityComparator.EqualsDebugInfo(DebugInfoExpression, DebugInfoExpression)
ExpressionEqualityComparator.EqualsDefault(DefaultExpression, DefaultExpression)
ExpressionEqualityComparator.EqualsDynamic(DynamicExpression, DynamicExpression)
ExpressionEqualityComparator.EqualsGoto(GotoExpression, GotoExpression)
ExpressionEqualityComparator.EqualsIndex(IndexExpression, IndexExpression)
ExpressionEqualityComparator.EqualsLabel(LabelExpression, LabelExpression)
ExpressionEqualityComparator.EqualsLoop(LoopExpression, LoopExpression)
ExpressionEqualityComparator.EqualsRuntimeVariables(RuntimeVariablesExpression, RuntimeVariablesExpression)
ExpressionEqualityComparator.EqualsSwitch(SwitchExpression, SwitchExpression)
ExpressionEqualityComparator.EqualsTry(TryExpression, TryExpression)
ExpressionEqualityComparator.Equals(SwitchCase, SwitchCase)
ExpressionEqualityComparator.Equals(CatchBlock, CatchBlock)
ExpressionEqualityComparator.Equals(CallSiteBinder, CallSiteBinder)
ExpressionEqualityComparator.EqualsExtension(Expression, Expression)
ExpressionEqualityComparator.Equals(MemberBinding, MemberBinding)
ExpressionEqualityComparator.EqualsMemberAssignment(MemberAssignment, MemberAssignment)
ExpressionEqualityComparator.EqualsMemberMemberBinding(MemberMemberBinding, MemberMemberBinding)
ExpressionEqualityComparator.EqualsMemberListBinding(MemberListBinding, MemberListBinding)
ExpressionEqualityComparator.Equals(ElementInit, ElementInit)
ExpressionEqualityComparator.Equals(MemberInfo, MemberInfo)
ExpressionEqualityComparator.Equals(ReadOnlyCollection<MemberInfo>, ReadOnlyCollection<MemberInfo>)
ExpressionEqualityComparator.Equals(Type, Type)
ExpressionEqualityComparator.Equals(ReadOnlyCollection<Expression>, ReadOnlyCollection<Expression>)
ExpressionEqualityComparator.Equals(ReadOnlyCollection<ParameterExpression>, ReadOnlyCollection<ParameterExpression>)
ExpressionEqualityComparator.Equals(ReadOnlyCollection<MemberBinding>, ReadOnlyCollection<MemberBinding>)
ExpressionEqualityComparator.Equals(ReadOnlyCollection<ElementInit>, ReadOnlyCollection<ElementInit>)
ExpressionEqualityComparator.Equals(ReadOnlyCollection<SwitchCase>, ReadOnlyCollection<SwitchCase>)
ExpressionEqualityComparator.Equals(ReadOnlyCollection<CatchBlock>, ReadOnlyCollection<CatchBlock>)
ExpressionEqualityComparator.EqualsPush(IReadOnlyList<ParameterExpression>, IReadOnlyList<ParameterExpression>)
ExpressionEqualityComparator.EqualsPop()
ExpressionEqualityComparator.GetHashCode(Expression)
ExpressionEqualityComparator.GetHashCodeBinary(BinaryExpression)
ExpressionEqualityComparator.GetHashCodeConditional(ConditionalExpression)
ExpressionEqualityComparator.GetHashCodeConstant(ConstantExpression)
ExpressionEqualityComparator.GetHashCodeInvocation(InvocationExpression)
ExpressionEqualityComparator.GetHashCodeLambda(LambdaExpression)
ExpressionEqualityComparator.GetHashCodeListInit(ListInitExpression)
ExpressionEqualityComparator.GetHashCodeMember(MemberExpression)
ExpressionEqualityComparator.GetHashCodeMemberInit(MemberInitExpression)
ExpressionEqualityComparator.GetHashCodeMethodCall(MethodCallExpression)
ExpressionEqualityComparator.GetHashCodeNew(NewExpression)
ExpressionEqualityComparator.GetHashCodeNewArray(NewArrayExpression)
ExpressionEqualityComparator.GetHashCodeParameter(ParameterExpression)
ExpressionEqualityComparator.GetHashCodeTypeBinary(TypeBinaryExpression)
ExpressionEqualityComparator.GetHashCodeUnary(UnaryExpression)
ExpressionEqualityComparator.GetHashCodeBlock(BlockExpression)
ExpressionEqualityComparator.GetHashCodeDebugInfo(DebugInfoExpression)
ExpressionEqualityComparator.GetHashCodeDefault(DefaultExpression)
ExpressionEqualityComparator.GetHashCodeDynamic(DynamicExpression)
ExpressionEqualityComparator.GetHashCodeGoto(GotoExpression)
ExpressionEqualityComparator.GetHashCodeIndex(IndexExpression)
ExpressionEqualityComparator.GetHashCodeLabel(LabelExpression)
ExpressionEqualityComparator.GetHashCodeLoop(LoopExpression)
ExpressionEqualityComparator.GetHashCodeRuntimeVariables(RuntimeVariablesExpression)
ExpressionEqualityComparator.GetHashCodeSwitch(SwitchExpression)
ExpressionEqualityComparator.GetHashCodeTry(TryExpression)
ExpressionEqualityComparator.GetHashCode(SwitchCase)
ExpressionEqualityComparator.GetHashCode(CatchBlock)
ExpressionEqualityComparator.GetHashCode(CallSiteBinder)
ExpressionEqualityComparator.GetHashCodeExtension(Expression)
ExpressionEqualityComparator.GetHashCode(MemberBinding)
ExpressionEqualityComparator.GetHashCodeMemberAssignment(MemberAssignment)
ExpressionEqualityComparator.GetHashCodeMemberMemberBinding(MemberMemberBinding)
ExpressionEqualityComparator.GetHashCodeMemberListBinding(MemberListBinding)
ExpressionEqualityComparator.GetHashCode(ElementInit)
ExpressionEqualityComparator.GetHashCode(MemberInfo)
ExpressionEqualityComparator.GetHashCode(ReadOnlyCollection<MemberInfo>)
ExpressionEqualityComparator.GetHashCode(Type)
ExpressionEqualityComparator.GetHashCodePush(IReadOnlyList<ParameterExpression>)
ExpressionEqualityComparator.GetHashCodePop()
ExpressionEqualityComparator.GetHashCode(ReadOnlyCollection<Expression>)
ExpressionEqualityComparator.GetHashCode(ReadOnlyCollection<ParameterExpression>)
ExpressionEqualityComparator.GetHashCode(ReadOnlyCollection<MemberBinding>)
ExpressionEqualityComparator.GetHashCode(ReadOnlyCollection<ElementInit>)
ExpressionEqualityComparator.GetHashCode(ReadOnlyCollection<SwitchCase>)
ExpressionEqualityComparator.GetHashCode(ReadOnlyCollection<CatchBlock>)
ExpressionEqualityComparator.Hash(Int32, Int32)
ExpressionEqualityComparator.Hash(Int32, Int32, Int32)
ExpressionEqualityComparator.Hash(Int32, Int32, Int32, Int32)
Namespace: System.Linq.CompilerServices.Optimizers
Assembly: Nuqleon.Linq.CompilerServices.Optimizers.dll
Syntax
public class QueryExpressionEqualityComparator : ExpressionEqualityComparator, IEqualityComparer<Expression>, IEqualityComparer<MemberBinding>, IEqualityComparer<ElementInit>, IEqualityComparer<CatchBlock>, IEqualityComparer<SwitchCase>, IEqualityComparer<QueryTree>

Constructors

QueryExpressionEqualityComparator()

Creates a new query expression equality comparator with default comparers for expressions, types, members, objects, and call site binders.

Declaration
public QueryExpressionEqualityComparator()

Methods

Equals(QueryTree, QueryTree)

Checks whether the two given query expressions are equal.

Declaration
public virtual bool Equals(QueryTree x, QueryTree y)
Parameters
Type Name Description
QueryTree x

First query expression.

QueryTree y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsExtension(QueryTree, QueryTree)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsExtension(QueryTree x, QueryTree y)
Parameters
Type Name Description
QueryTree x

First query expression.

QueryTree y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsFirst(FirstOperator, FirstOperator)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsFirst(FirstOperator x, FirstOperator y)
Parameters
Type Name Description
FirstOperator x

First query expression.

FirstOperator y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsFirstPredicate(FirstPredicateOperator, FirstPredicateOperator)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsFirstPredicate(FirstPredicateOperator x, FirstPredicateOperator y)
Parameters
Type Name Description
FirstPredicateOperator x

First query expression.

FirstPredicateOperator y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsGlobalParameter(ParameterExpression, ParameterExpression)

Checks whether the two given global parameter expressions are equal.

Declaration
protected override sealed bool EqualsGlobalParameter(ParameterExpression x, ParameterExpression y)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression x

First expression.

System.Linq.Expressions.ParameterExpression y

Second expression.

Returns
Type Description
System.Boolean

true if both expressions are equal; otherwise, false.

Overrides
ExpressionEqualityComparator.EqualsGlobalParameter(ParameterExpression, ParameterExpression)

EqualsGlobalParameterCore(ParameterExpression, ParameterExpression)

Checks whether the two given global parameter expressions are equal.

Declaration
protected virtual bool EqualsGlobalParameterCore(ParameterExpression x, ParameterExpression y)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression x

First expression.

System.Linq.Expressions.ParameterExpression y

Second expression.

Returns
Type Description
System.Boolean

true if both expressions are equal; otherwise, false.

EqualsLambdaAbstraction(LambdaAbstraction, LambdaAbstraction)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsLambdaAbstraction(LambdaAbstraction x, LambdaAbstraction y)
Parameters
Type Name Description
LambdaAbstraction x

First query expression.

LambdaAbstraction y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsMonadAbstraction(MonadAbstraction, MonadAbstraction)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsMonadAbstraction(MonadAbstraction x, MonadAbstraction y)
Parameters
Type Name Description
MonadAbstraction x

First query expression.

MonadAbstraction y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsQueryOperator(QueryOperator, QueryOperator)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsQueryOperator(QueryOperator x, QueryOperator y)
Parameters
Type Name Description
QueryOperator x

First query expression.

QueryOperator y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsQueryOperatorExtension(QueryOperator, QueryOperator)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsQueryOperatorExtension(QueryOperator x, QueryOperator y)
Parameters
Type Name Description
QueryOperator x

First query expression.

QueryOperator y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsSelect(SelectOperator, SelectOperator)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsSelect(SelectOperator x, SelectOperator y)
Parameters
Type Name Description
SelectOperator x

First query expression.

SelectOperator y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsTake(TakeOperator, TakeOperator)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsTake(TakeOperator x, TakeOperator y)
Parameters
Type Name Description
TakeOperator x

First query expression.

TakeOperator y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

EqualsWhere(WhereOperator, WhereOperator)

Checks whether the two given query expressions are equal.

Declaration
protected virtual bool EqualsWhere(WhereOperator x, WhereOperator y)
Parameters
Type Name Description
WhereOperator x

First query expression.

WhereOperator y

Second query expression.

Returns
Type Description
System.Boolean

true if both query expressions are equal; otherwise, false.

GetHashCode(QueryTree)

Gets a hash code for the given query expression.

Declaration
public virtual int GetHashCode(QueryTree obj)
Parameters
Type Name Description
QueryTree obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeExtension(QueryTree)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeExtension(QueryTree obj)
Parameters
Type Name Description
QueryTree obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeFirst(FirstOperator)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeFirst(FirstOperator obj)
Parameters
Type Name Description
FirstOperator obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeFirstPredicate(FirstPredicateOperator)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeFirstPredicate(FirstPredicateOperator obj)
Parameters
Type Name Description
FirstPredicateOperator obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeGlobalParameter(ParameterExpression)

Gets a hash code for the given expression.

Declaration
protected override sealed int GetHashCodeGlobalParameter(ParameterExpression obj)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression obj

Expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given expression.

Overrides
ExpressionEqualityComparator.GetHashCodeGlobalParameter(ParameterExpression)

GetHashCodeGlobalParameterCore(ParameterExpression)

Gets a hash code for the given expression.

Declaration
protected virtual int GetHashCodeGlobalParameterCore(ParameterExpression obj)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression obj

Expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given expression.

GetHashCodeLambdaAbstraction(LambdaAbstraction)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeLambdaAbstraction(LambdaAbstraction obj)
Parameters
Type Name Description
LambdaAbstraction obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeMonadAbstraction(MonadAbstraction)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeMonadAbstraction(MonadAbstraction obj)
Parameters
Type Name Description
MonadAbstraction obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeQueryOperator(QueryOperator)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeQueryOperator(QueryOperator obj)
Parameters
Type Name Description
QueryOperator obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeQueryOperatorExtension(QueryOperator)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeQueryOperatorExtension(QueryOperator obj)
Parameters
Type Name Description
QueryOperator obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeSelect(SelectOperator)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeSelect(SelectOperator obj)
Parameters
Type Name Description
SelectOperator obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeTake(TakeOperator)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeTake(TakeOperator obj)
Parameters
Type Name Description
TakeOperator obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

GetHashCodeWhere(WhereOperator)

Gets a hash code for the given query expression.

Declaration
protected virtual int GetHashCodeWhere(WhereOperator obj)
Parameters
Type Name Description
WhereOperator obj

Query expression to compute a hash code for.

Returns
Type Description
System.Int32

Hash code for the given query expression.

Implements

System.Collections.Generic.IEqualityComparer<>
System.Collections.Generic.IEqualityComparer<>
System.Collections.Generic.IEqualityComparer<>
System.Collections.Generic.IEqualityComparer<>
System.Collections.Generic.IEqualityComparer<>
System.Collections.Generic.IEqualityComparer<>
In This Article
Back to top Generated by DocFX