344 lines
17 KiB
C#
344 lines
17 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace System.Linq.Expressions
|
|
{
|
|
/// <summary>Represents a visitor or rewriter for expression trees.</summary>
|
|
// Token: 0x0200008F RID: 143
|
|
[Token(Token = "0x200008F")]
|
|
public abstract class ExpressionVisitor
|
|
{
|
|
/// <summary>Initializes a new instance of <see cref="T:System.Linq.Expressions.ExpressionVisitor" />.</summary>
|
|
// Token: 0x06000485 RID: 1157 RVA: 0x00002053 File Offset: 0x00000253
|
|
[Token(Token = "0x6000485")]
|
|
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
|
protected ExpressionVisitor()
|
|
{
|
|
}
|
|
|
|
/// <summary>Dispatches the expression to one of the more specialized visit methods in this class.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000486 RID: 1158 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000486")]
|
|
[Address(RVA = "0xE9C6E0", Offset = "0xE9B6E0", VA = "0x180E9C6E0", Slot = "4")]
|
|
public virtual Expression Visit(Expression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Dispatches the list of expressions to one of the more specialized visit methods in this class.</summary>
|
|
/// <param name="nodes">The expressions to visit.</param>
|
|
/// <returns>The modified expression list, if any one of the elements were modified; otherwise, returns the original expression list.</returns>
|
|
// Token: 0x06000487 RID: 1159 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000487")]
|
|
[Address(RVA = "0xE9C4E0", Offset = "0xE9B4E0", VA = "0x180E9C4E0")]
|
|
public ReadOnlyCollection<Expression> Visit(ReadOnlyCollection<Expression> nodes)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06000488 RID: 1160 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000488")]
|
|
[Address(RVA = "0xE9B970", Offset = "0xE9A970", VA = "0x180E9B970")]
|
|
private Expression[] VisitArguments(IArgumentProvider nodes)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06000489 RID: 1161 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000489")]
|
|
[Address(RVA = "0xE9C290", Offset = "0xE9B290", VA = "0x180E9C290")]
|
|
private ParameterExpression[] VisitParameters(IParameterProvider nodes, string callerName)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits all nodes in the collection using a specified element visitor.</summary>
|
|
/// <param name="nodes">The nodes to visit.</param>
|
|
/// <param name="elementVisitor">A delegate that visits a single element, optionally replacing it with a new element.</param>
|
|
/// <typeparam name="T">The type of the nodes.</typeparam>
|
|
/// <returns>The modified node list, if any of the elements were modified; otherwise, returns the original node list.</returns>
|
|
// Token: 0x0600048A RID: 1162 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600048A")]
|
|
[Address(RVA = "0x31D7D70", Offset = "0x31D6D70", VA = "0x1831D7D70")]
|
|
public static ReadOnlyCollection<T> Visit<T>(ReadOnlyCollection<T> nodes, Func<T, T> elementVisitor)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits an expression, casting the result back to the original expression type.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <param name="callerName">The name of the calling method; used to report to report a better error message.</param>
|
|
/// <typeparam name="T">The type of the expression.</typeparam>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
/// <exception cref="T:System.InvalidOperationException">The visit method for this node returned a different type.</exception>
|
|
// Token: 0x0600048B RID: 1163 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600048B")]
|
|
[Address(RVA = "0x1E58550", Offset = "0x1E57550", VA = "0x181E58550")]
|
|
public T VisitAndConvert<T>(T node, string callerName) where T : Expression
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits an expression, casting the result back to the original expression type.</summary>
|
|
/// <param name="nodes">The expression to visit.</param>
|
|
/// <param name="callerName">The name of the calling method; used to report to report a better error message.</param>
|
|
/// <typeparam name="T">The type of the expression.</typeparam>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
/// <exception cref="T:System.InvalidOperationException">The visit method for this node returned a different type.</exception>
|
|
// Token: 0x0600048C RID: 1164 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600048C")]
|
|
[Address(RVA = "0x31D7A90", Offset = "0x31D6A90", VA = "0x1831D7A90")]
|
|
public ReadOnlyCollection<T> VisitAndConvert<T>(ReadOnlyCollection<T> nodes, string callerName) where T : Expression
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.BinaryExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600048D RID: 1165 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600048D")]
|
|
[Address(RVA = "0xE9B980", Offset = "0xE9A980", VA = "0x180E9B980", Slot = "5")]
|
|
protected internal virtual Expression VisitBinary(BinaryExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.BlockExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600048E RID: 1166 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600048E")]
|
|
[Address(RVA = "0xE9BB90", Offset = "0xE9AB90", VA = "0x180E9BB90", Slot = "6")]
|
|
protected internal virtual Expression VisitBlock(BlockExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.ConditionalExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600048F RID: 1167 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600048F")]
|
|
[Address(RVA = "0xE9BD30", Offset = "0xE9AD30", VA = "0x180E9BD30", Slot = "7")]
|
|
protected internal virtual Expression VisitConditional(ConditionalExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the <see cref="T:System.Linq.Expressions.ConstantExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000490 RID: 1168 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000490")]
|
|
[Address(RVA = "0x4AA5C0", Offset = "0x4A95C0", VA = "0x1804AA5C0", Slot = "8")]
|
|
protected internal virtual Expression VisitConstant(ConstantExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the <see cref="T:System.Linq.Expressions.DefaultExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000491 RID: 1169 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000491")]
|
|
[Address(RVA = "0x4AA5C0", Offset = "0x4A95C0", VA = "0x1804AA5C0", Slot = "9")]
|
|
protected internal virtual Expression VisitDefault(DefaultExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the extension expression.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000492 RID: 1170 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000492")]
|
|
[Address(RVA = "0x85F880", Offset = "0x85E880", VA = "0x18085F880", Slot = "10")]
|
|
protected internal virtual Expression VisitExtension(Expression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.GotoExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000493 RID: 1171 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000493")]
|
|
[Address(RVA = "0xE9BDE0", Offset = "0xE9ADE0", VA = "0x180E9BDE0", Slot = "11")]
|
|
protected internal virtual Expression VisitGoto(GotoExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.InvocationExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000494 RID: 1172 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000494")]
|
|
[Address(RVA = "0xE9BFB0", Offset = "0xE9AFB0", VA = "0x180E9BFB0", Slot = "12")]
|
|
protected internal virtual Expression VisitInvocation(InvocationExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the <see cref="T:System.Linq.Expressions.LabelTarget" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000495 RID: 1173 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000495")]
|
|
[Address(RVA = "0x4AA5C0", Offset = "0x4A95C0", VA = "0x1804AA5C0", Slot = "13")]
|
|
protected virtual LabelTarget VisitLabelTarget(LabelTarget node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.LabelExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000496 RID: 1174 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000496")]
|
|
[Address(RVA = "0xE9C040", Offset = "0xE9B040", VA = "0x180E9C040", Slot = "14")]
|
|
protected internal virtual Expression VisitLabel(LabelExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.Expression`1" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <typeparam name="T">The type of the delegate.</typeparam>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000497 RID: 1175 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000497")]
|
|
[Address(RVA = "0x27D66E0", Offset = "0x27D56E0", VA = "0x1827D66E0", Slot = "15")]
|
|
protected internal virtual Expression VisitLambda<T>(Expression<T> node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.LoopExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000498 RID: 1176 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000498")]
|
|
[Address(RVA = "0xE9C0B0", Offset = "0xE9B0B0", VA = "0x180E9C0B0", Slot = "16")]
|
|
protected internal virtual Expression VisitLoop(LoopExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.MemberExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x06000499 RID: 1177 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6000499")]
|
|
[Address(RVA = "0xE9C160", Offset = "0xE9B160", VA = "0x180E9C160", Slot = "17")]
|
|
protected internal virtual Expression VisitMember(MemberExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.IndexExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600049A RID: 1178 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600049A")]
|
|
[Address(RVA = "0xE9BED0", Offset = "0xE9AED0", VA = "0x180E9BED0", Slot = "18")]
|
|
protected internal virtual Expression VisitIndex(IndexExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.MethodCallExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600049B RID: 1179 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600049B")]
|
|
[Address(RVA = "0xE9C1A0", Offset = "0xE9B1A0", VA = "0x180E9C1A0", Slot = "19")]
|
|
protected internal virtual Expression VisitMethodCall(MethodCallExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.NewArrayExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600049C RID: 1180 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600049C")]
|
|
[Address(RVA = "0xE9C250", Offset = "0xE9B250", VA = "0x180E9C250", Slot = "20")]
|
|
protected internal virtual Expression VisitNewArray(NewArrayExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the <see cref="T:System.Linq.Expressions.ParameterExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600049D RID: 1181 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600049D")]
|
|
[Address(RVA = "0x4AA5C0", Offset = "0x4A95C0", VA = "0x1804AA5C0", Slot = "21")]
|
|
protected internal virtual Expression VisitParameter(ParameterExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.CatchBlock" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600049E RID: 1182 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600049E")]
|
|
[Address(RVA = "0xE9BC60", Offset = "0xE9AC60", VA = "0x180E9BC60", Slot = "22")]
|
|
protected virtual CatchBlock VisitCatchBlock(CatchBlock node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.TryExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x0600049F RID: 1183 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600049F")]
|
|
[Address(RVA = "0xE9C2A0", Offset = "0xE9B2A0", VA = "0x180E9C2A0", Slot = "23")]
|
|
protected internal virtual Expression VisitTry(TryExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Visits the children of the <see cref="T:System.Linq.Expressions.UnaryExpression" />.</summary>
|
|
/// <param name="node">The expression to visit.</param>
|
|
/// <returns>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</returns>
|
|
// Token: 0x060004A0 RID: 1184 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x60004A0")]
|
|
[Address(RVA = "0xE9C3C0", Offset = "0xE9B3C0", VA = "0x180E9C3C0", Slot = "24")]
|
|
protected internal virtual Expression VisitUnary(UnaryExpression node)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x060004A1 RID: 1185 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x60004A1")]
|
|
[Address(RVA = "0xE9B870", Offset = "0xE9A870", VA = "0x180E9B870")]
|
|
private static UnaryExpression ValidateUnary(UnaryExpression before, UnaryExpression after)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x060004A2 RID: 1186 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x60004A2")]
|
|
[Address(RVA = "0xE9B640", Offset = "0xE9A640", VA = "0x180E9B640")]
|
|
private static BinaryExpression ValidateBinary(BinaryExpression before, BinaryExpression after)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x060004A3 RID: 1187 RVA: 0x00002053 File Offset: 0x00000253
|
|
[Token(Token = "0x60004A3")]
|
|
[Address(RVA = "0xE9B7C0", Offset = "0xE9A7C0", VA = "0x180E9B7C0")]
|
|
private static void ValidateChildType(Type before, Type after, string methodName)
|
|
{
|
|
}
|
|
}
|
|
}
|