<?xml version="1.0" encoding="utf-8"?>
<Type Name="ExecutionScope" FullName="System.Runtime.CompilerServices.ExecutionScope">
  <TypeSignature Language="C#" Value="public class ExecutionScope" />
  <AssemblyInfo>
    <AssemblyName>System.Core</AssemblyName>
    <AssemblyVersion>3.5.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.Runtime.CompilerServices.ExecutionScope" /> type is used by the expression tree compiler, which is an internal component of the vbteclinq expression tree API, and by the dynamic methods that it generates.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Represents the runtime state of a dynamically generated method.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="CreateDelegate">
      <MemberSignature Language="C#" Value="public Delegate CreateDelegate (int indexLambda, object[] locals);" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>3.5.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Delegate</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="indexLambda" Type="System.Int32" />
        <Parameter Name="locals" Type="System.Object[]" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a delegate that can be used to execute a dynamically generated method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Delegate" /> that can execute a dynamically generated method.</para>
        </returns>
        <param name="indexLambda">
          <attribution license="cc4" from="Microsoft" modified="false" />The index of the object that stores information about associated lambda expression of the dynamic method.</param>
        <param name="locals">
          <attribution license="cc4" from="Microsoft" modified="false" />An array that contains the hoisted local variables from the parent context.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateHoistedLocals">
      <MemberSignature Language="C#" Value="public object[] CreateHoistedLocals ();" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>3.5.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Object[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates an array to store the hoisted local variables.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An array to store hoisted local variables.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="Globals">
      <MemberSignature Language="C#" Value="public object[] Globals;" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>3.5.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Object[]</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Represents the non-trivial constants and locally executable expressions that are referenced by a dynamically generated method.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="IsolateExpression">
      <MemberSignature Language="C#" Value="public System.Linq.Expressions.Expression IsolateExpression (System.Linq.Expressions.Expression expression, object[] locals);" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>3.5.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Linq.Expressions.Expression</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="expression" Type="System.Linq.Expressions.Expression" />
        <Parameter Name="locals" Type="System.Object[]" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Frees a specified expression tree of external parameter references by replacing the parameter with its current value.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An expression tree that does not contain external parameter references.</para>
        </returns>
        <param name="expression">
          <attribution license="cc4" from="Microsoft" modified="false" />An expression tree to free of external parameter references.</param>
        <param name="locals">
          <attribution license="cc4" from="Microsoft" modified="false" />An array that contains the hoisted local variables.</param>
      </Docs>
    </Member>
    <Member MemberName="Locals">
      <MemberSignature Language="C#" Value="public object[] Locals;" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>3.5.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Object[]</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Represents the hoisted local variables from the parent context.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Parent">
      <MemberSignature Language="C#" Value="public System.Runtime.CompilerServices.ExecutionScope Parent;" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>3.5.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Runtime.CompilerServices.ExecutionScope</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Represents the execution scope of the calling delegate.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>