<?xml version="1.0" encoding="utf-8"?>
<Type Name="ExpressionVisitor" FullName="System.Linq.Expressions.ExpressionVisitor">
  <TypeSignature Language="C#" Value="public abstract class ExpressionVisitor" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit ExpressionVisitor extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>System.Core</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>This class is designed to be inherited to create more specialized classes whose functionality requires traversing, examining or copying an expression tree.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Represents a visitor or rewriter for expression trees.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected ExpressionVisitor ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of <see cref="T:System.Linq.Expressions.ExpressionVisitor" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Visit">
      <MemberSignature Language="C#" Value="public System.Collections.ObjectModel.ReadOnlyCollection&lt;System.Linq.Expressions.Expression&gt; Visit (System.Collections.ObjectModel.ReadOnlyCollection&lt;System.Linq.Expressions.Expression&gt; nodes);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;class System.Linq.Expressions.Expression&gt; Visit(class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;class System.Linq.Expressions.Expression&gt; nodes) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.ObjectModel.ReadOnlyCollection&lt;System.Linq.Expressions.Expression&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="nodes" Type="System.Collections.ObjectModel.ReadOnlyCollection&lt;System.Linq.Expressions.Expression&gt;" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Dispatches the list of expressions to one of the more specialized visit methods in this class.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression list, if any one of the elements were modified; otherwise, returns the original expression list.</para>
        </returns>
        <param name="nodes">
          <attribution license="cc4" from="Microsoft" modified="false" />The expressions to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="Visit">
      <MemberSignature Language="C#" Value="public virtual System.Linq.Expressions.Expression Visit (System.Linq.Expressions.Expression node);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Linq.Expressions.Expression Visit(class System.Linq.Expressions.Expression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.Expression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Dispatches the expression to one of the more specialized visit methods in this class.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="Visit&lt;T&gt;">
      <MemberSignature Language="C#" Value="public static System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt; Visit&lt;T&gt; (System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt; nodes, Func&lt;T,T&gt; elementVisitor);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;!!T&gt; Visit&lt;T&gt;(class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;!!T&gt; nodes, class System.Func`2&lt;!!T, !!T&gt; elementVisitor) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt;</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="T" />
      </TypeParameters>
      <Parameters>
        <Parameter Name="nodes" Type="System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt;" />
        <Parameter Name="elementVisitor" Type="System.Func&lt;T,T&gt;" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits all nodes in the collection using a specified element visitor.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified node list, if any of the elements were modified; otherwise, returns the original node list.</para>
        </returns>
        <param name="nodes">
          <attribution license="cc4" from="Microsoft" modified="false" />The nodes to visit.</param>
        <param name="elementVisitor">
          <attribution license="cc4" from="Microsoft" modified="false" />A delegate that visits a single element, optionally replacing it with a new element.</param>
        <typeparam name="T">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of the nodes.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="VisitAndConvert&lt;T&gt;">
      <MemberSignature Language="C#" Value="public System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt; VisitAndConvert&lt;T&gt; (System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt; nodes, string callerName) where T : System.Linq.Expressions.Expression;" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;!!T&gt; VisitAndConvert&lt;(class System.Linq.Expressions.Expression) T&gt;(class System.Collections.ObjectModel.ReadOnlyCollection`1&lt;!!T&gt; nodes, string callerName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt;</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="T">
          <Constraints>
            <BaseTypeName>System.Linq.Expressions.Expression</BaseTypeName>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters>
        <Parameter Name="nodes" Type="System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt;" />
        <Parameter Name="callerName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits an expression, casting the result back to the original expression type.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="nodes">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
        <param name="callerName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the calling method; used to report to report a better error message.</param>
        <typeparam name="T">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of the expression.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="VisitAndConvert&lt;T&gt;">
      <MemberSignature Language="C#" Value="public T VisitAndConvert&lt;T&gt; (T node, string callerName) where T : System.Linq.Expressions.Expression;" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance !!T VisitAndConvert&lt;(class System.Linq.Expressions.Expression) T&gt;(!!T node, string callerName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>T</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="T">
          <Constraints>
            <BaseTypeName>System.Linq.Expressions.Expression</BaseTypeName>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters>
        <Parameter Name="node" Type="T" />
        <Parameter Name="callerName" Type="System.String" />
      </Parameters>
      <Docs>
        <typeparam name="T">To be added.</typeparam>
        <param name="node">To be added.</param>
        <param name="callerName">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="VisitBinary">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitBinary (System.Linq.Expressions.BinaryExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitBinary(class System.Linq.Expressions.BinaryExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.BinaryExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.BinaryExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitBlock">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitBlock (System.Linq.Expressions.BlockExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitBlock(class System.Linq.Expressions.BlockExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.BlockExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.BlockExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitCatchBlock">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.CatchBlock VisitCatchBlock (System.Linq.Expressions.CatchBlock node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.CatchBlock VisitCatchBlock(class System.Linq.Expressions.CatchBlock node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.CatchBlock</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.CatchBlock" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.CatchBlock" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitConditional">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitConditional (System.Linq.Expressions.ConditionalExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitConditional(class System.Linq.Expressions.ConditionalExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.ConditionalExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.ConditionalExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitConstant">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitConstant (System.Linq.Expressions.ConstantExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitConstant(class System.Linq.Expressions.ConstantExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.ConstantExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the <see cref="T:System.Linq.Expressions.ConstantExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitDebugInfo">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitDebugInfo (System.Linq.Expressions.DebugInfoExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitDebugInfo(class System.Linq.Expressions.DebugInfoExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.DebugInfoExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the <see cref="T:System.Linq.Expressions.DebugInfoExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitDefault">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitDefault (System.Linq.Expressions.DefaultExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitDefault(class System.Linq.Expressions.DefaultExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.DefaultExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the <see cref="T:System.Linq.Expressions.DefaultExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitDynamic">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitDynamic (System.Linq.Expressions.DynamicExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitDynamic(class System.Linq.Expressions.DynamicExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.DynamicExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.DynamicExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitElementInit">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.ElementInit VisitElementInit (System.Linq.Expressions.ElementInit node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.ElementInit VisitElementInit(class System.Linq.Expressions.ElementInit node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.ElementInit</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.ElementInit" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.ElementInit" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitExtension">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitExtension (System.Linq.Expressions.Expression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitExtension(class System.Linq.Expressions.Expression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.Expression" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This can be overridden to visit or rewrite specific extension nodes.</para>
          <para> If it is not overridden, this method will call <see cref="M:System.Linq.Expressions.Expression.VisitChildren(System.Linq.Expressions.ExpressionVisitor)" />, which gives the node a chance to walk its children. By default, <see cref="M:System.Linq.Expressions.Expression.VisitChildren(System.Linq.Expressions.ExpressionVisitor)" /> will try to reduce the node.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the extension expression.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitGoto">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitGoto (System.Linq.Expressions.GotoExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitGoto(class System.Linq.Expressions.GotoExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.GotoExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.GotoExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitIndex">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitIndex (System.Linq.Expressions.IndexExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitIndex(class System.Linq.Expressions.IndexExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.IndexExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.IndexExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitInvocation">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitInvocation (System.Linq.Expressions.InvocationExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitInvocation(class System.Linq.Expressions.InvocationExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.InvocationExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.InvocationExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitLabel">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitLabel (System.Linq.Expressions.LabelExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitLabel(class System.Linq.Expressions.LabelExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.LabelExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.LabelExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitLabelTarget">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.LabelTarget VisitLabelTarget (System.Linq.Expressions.LabelTarget node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.LabelTarget VisitLabelTarget(class System.Linq.Expressions.LabelTarget node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.LabelTarget</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.LabelTarget" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the <see cref="T:System.Linq.Expressions.LabelTarget" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitLambda&lt;T&gt;">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitLambda&lt;T&gt; (System.Linq.Expressions.Expression&lt;T&gt; node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitLambda&lt;T&gt;(class System.Linq.Expressions.Expression`1&lt;!!T&gt; node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="T" />
      </TypeParameters>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.Expression&lt;T&gt;" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.Expression`1" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
        <typeparam name="T">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of the delegate.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="VisitListInit">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitListInit (System.Linq.Expressions.ListInitExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitListInit(class System.Linq.Expressions.ListInitExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.ListInitExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.ListInitExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitLoop">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitLoop (System.Linq.Expressions.LoopExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitLoop(class System.Linq.Expressions.LoopExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.LoopExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.LoopExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitMember">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitMember (System.Linq.Expressions.MemberExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitMember(class System.Linq.Expressions.MemberExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.MemberExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.MemberExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitMemberAssignment">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.MemberAssignment VisitMemberAssignment (System.Linq.Expressions.MemberAssignment node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.MemberAssignment VisitMemberAssignment(class System.Linq.Expressions.MemberAssignment node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.MemberAssignment</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.MemberAssignment" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.MemberAssignment" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitMemberBinding">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.MemberBinding VisitMemberBinding (System.Linq.Expressions.MemberBinding node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.MemberBinding VisitMemberBinding(class System.Linq.Expressions.MemberBinding node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.MemberBinding</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.MemberBinding" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.MemberBinding" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitMemberInit">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitMemberInit (System.Linq.Expressions.MemberInitExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitMemberInit(class System.Linq.Expressions.MemberInitExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.MemberInitExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.MemberInitExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitMemberListBinding">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.MemberListBinding VisitMemberListBinding (System.Linq.Expressions.MemberListBinding node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.MemberListBinding VisitMemberListBinding(class System.Linq.Expressions.MemberListBinding node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.MemberListBinding</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.MemberListBinding" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.MemberListBinding" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitMemberMemberBinding">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.MemberMemberBinding VisitMemberMemberBinding (System.Linq.Expressions.MemberMemberBinding node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.MemberMemberBinding VisitMemberMemberBinding(class System.Linq.Expressions.MemberMemberBinding node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.MemberMemberBinding</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.MemberMemberBinding" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.MemberMemberBinding" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitMethodCall">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitMethodCall (System.Linq.Expressions.MethodCallExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitMethodCall(class System.Linq.Expressions.MethodCallExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.MethodCallExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.MethodCallExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitNew">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitNew (System.Linq.Expressions.NewExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitNew(class System.Linq.Expressions.NewExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.NewExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.NewExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitNewArray">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitNewArray (System.Linq.Expressions.NewArrayExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitNewArray(class System.Linq.Expressions.NewArrayExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.NewArrayExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.NewArrayExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitParameter">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitParameter (System.Linq.Expressions.ParameterExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitParameter(class System.Linq.Expressions.ParameterExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.ParameterExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the <see cref="T:System.Linq.Expressions.ParameterExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitRuntimeVariables">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitRuntimeVariables (System.Linq.Expressions.RuntimeVariablesExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitRuntimeVariables(class System.Linq.Expressions.RuntimeVariablesExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.RuntimeVariablesExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.RuntimeVariablesExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitSwitch">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitSwitch (System.Linq.Expressions.SwitchExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitSwitch(class System.Linq.Expressions.SwitchExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.SwitchExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.SwitchExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitSwitchCase">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.SwitchCase VisitSwitchCase (System.Linq.Expressions.SwitchCase node);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Linq.Expressions.SwitchCase VisitSwitchCase(class System.Linq.Expressions.SwitchCase node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.SwitchCase</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.SwitchCase" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.SwitchCase" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitTry">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitTry (System.Linq.Expressions.TryExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitTry(class System.Linq.Expressions.TryExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.TryExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.TryExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitTypeBinary">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitTypeBinary (System.Linq.Expressions.TypeBinaryExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitTypeBinary(class System.Linq.Expressions.TypeBinaryExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.TypeBinaryExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.TypeBinaryExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
    <Member MemberName="VisitUnary">
      <MemberSignature Language="C#" Value="protected virtual System.Linq.Expressions.Expression VisitUnary (System.Linq.Expressions.UnaryExpression node);" />
      <MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig newslot virtual instance class System.Linq.Expressions.Expression VisitUnary(class System.Linq.Expressions.UnaryExpression node) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="node" Type="System.Linq.Expressions.UnaryExpression" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Visits the children of the <see cref="T:System.Linq.Expressions.UnaryExpression" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.</para>
        </returns>
        <param name="node">
          <attribution license="cc4" from="Microsoft" modified="false" />The expression to visit.</param>
      </Docs>
    </Member>
  </Members>
</Type>