Microsoft.Data.OData.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Data.OData</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Data.OData.Evaluation.LiteralFormatter">
            <summary>
            Component for formatting literals for use in URIs, ETags, and skip-tokens.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.LiteralFormatter.HexValues">
            <summary>Constant table of nibble-to-hex convertion values.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultInstance">
            <summary>Default singleton instance for parenthetical keys, etags, or skiptokens.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultInstanceWithoutEncoding">
            <summary>Default singleton instance which does not URL-encode the resulting string.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.LiteralFormatter.KeyAsSegmentInstance">
            <summary>Default singleton instance for keys formatted as segments.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.ForKeys(System.Boolean)">
            <summary>
            Gets the literal formatter for keys.
            </summary>
            <param name="keysAsSegment">if set to <c>true</c> then the key is going to be written as a segment, rather than in parentheses.</param>
            <returns>The literal formatter for keys.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.Format(System.Object)">
            <summary>Converts the specified value to an encoded, serializable string for URI key.</summary>
            <param name="value">Non-null value to convert.</param>
            <returns>value converted to a serializable string for URI key.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.EscapeResultForUri(System.String)">
            <summary>
            Escapes the result accoridng to URI escaping rules.
            </summary>
            <param name="result">The result to escape.</param>
            <returns>The escaped string.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.ConvertByteArrayToKeyString(System.Byte[])">
            <summary>Converts the given byte[] into string.</summary>
            <param name="byteArray">byte[] that needs to be converted.</param>
            <returns>String containing hex values representing the byte[].</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.FormatRawLiteral(System.Object)">
            <summary>
            Formats the literal without a type prefix, quotes, or escaping.
            </summary>
            <param name="value">The non-null value to format.</param>
            <returns>The formatted literal, without type marker or quotes.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.FormatAndEscapeLiteral(System.Object)">
            <summary>
            Formats the literal without a type prefix or quotes, but does escape it.
            </summary>
            <param name="value">The non-null value to format.</param>
            <returns>The formatted literal, without type marker or quotes.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Evaluation.LiteralFormatter.ForConstants">
            <summary>
            Gets the literal formatter for URL constants.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Evaluation.LiteralFormatter.ForConstantsWithoutEncoding">
            <summary>
            Gets the literal formatter for URL constants which does not URL-encode the string.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Evaluation.LiteralFormatter.SharedUtils">
            <summary>
            Helper utilities that capture any deltas between ODL, the WCF DS Client, and the WCF DS Server.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.SharedUtils.CreateExceptionForUnconvertableType(System.Object)">
            <summary>
            Creates a new exception instance to be thrown if the value is not a type that can be formatted as a literal.
            DEVNOTE: Will return a different exception depending on whether this is ODataLib, the WCF DS Server, or the WCF DS client.
            </summary>
            <param name="value">The literal value that could not be converted.</param>
            <returns>The exception that should be thrown.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.SharedUtils.TryConvertToStandardType(System.Object,System.Object@)">
            <summary>
            Tries to convert the given value to one of the standard recognized types. Used specifically for handling XML and binary types.
            </summary>
            <param name="value">The original value.</param>
            <param name="converted">The value converted to one of the standard types.</param>
            <returns>Whether or not the value was converted.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.SharedUtils.AppendDecimalMarkerToDouble(System.String)">
            <summary>
            Appends the decimal marker to string form of double value if necessary.
            DEVNOTE: Only used by the client and ODL, for legacy/back-compat reasons.
            </summary>
            <param name="input">Input string.</param>
            <returns>String with decimal marker optionally added.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.SharedUtils.ShouldAppendLiteralSuffixToDouble(System.Double)">
            <summary>
            Returns whether a 'd' literal suffix to a double value based on its value.
            DEVNOTE: The WCF DS client never added the 'd', but WCF DS Server and ODL do.
            </summary>
            <param name="value">The value itself.</param>
            <returns>Whether or not to append the 'd' suffix.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.SharedUtils.TryGetByteArrayFromBinary(System.Object,System.Byte[]@)">
            <summary>
            Tries to convert an instance of System.Data.Linq.Binary to a byte array.
            </summary>
            <param name="value">The original value which might be an instance of System.Data.Linq.Binary.</param>
            <param name="array">The converted byte array, if it was converted.</param>
            <returns>Whether or not the value was converted.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter">
            <summary>
            Default literal formatter implementation.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter.disableUrlEncoding">
            <summary>If true, literals will not be URL encoded.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter.#ctor">
            <summary>
            Creates a new instance of <see cref="T:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter.#ctor(System.Boolean)">
            <summary>
            Creates a new instance of <see cref="T:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter"/>.
            </summary>
            <param name="disableUrlEncoding">If true, literals will not be URL encoded.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter.Format(System.Object)">
            <summary>Converts the specified value to an encoded, serializable string for URI key.</summary>
            <param name="value">Non-null value to convert.</param>
            <returns>value converted to a serializable string for URI key.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter.EscapeResultForUri(System.String)">
            <summary>
            Escapes the result accoridng to URI escaping rules.
            </summary>
            <param name="result">The result to escape.</param>
            <returns>The escaped string.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.DefaultLiteralFormatter.FormatLiteralWithTypePrefix(System.Object)">
            <summary>
            Formats the literal with a type prefix and quotes (if the type requires it).
            </summary>
            <param name="value">The value to format.</param>
            <returns>The formatted literal, with type marker if needed.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Evaluation.LiteralFormatter.KeysAsSegmentsLiteralFormatter">
            <summary>
            Literal formatter for keys which are written as URI segments.
            Very similar to the default, but it never puts the type markers or single quotes around the value.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.KeysAsSegmentsLiteralFormatter.#ctor">
            <summary>
            Creates a new instance of <see cref="T:Microsoft.Data.OData.Evaluation.LiteralFormatter.KeysAsSegmentsLiteralFormatter"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.KeysAsSegmentsLiteralFormatter.Format(System.Object)">
            <summary>Converts the specified value to an encoded, serializable string for URI key.</summary>
            <param name="value">Non-null value to convert.</param>
            <returns>value converted to a serializable string for URI key.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.LiteralFormatter.KeysAsSegmentsLiteralFormatter.EscapeLeadingDollarSign(System.String)">
            <summary>
            If the string starts with a '$', prepends another '$' to escape it.
            </summary>
            <param name="stringValue">The string value.</param>
            <returns>The string value with a leading '$' escaped, if one was present.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Evaluation.KeySerializer">
            <summary>
            Component for serializing entity key values for building identities, edit links, etc.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.KeySerializer.DefaultInstance">
            <summary>Singleton instance of the default serializer.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.KeySerializer.SegmentInstance">
            <summary>Singleton instance of the segment-based serializer.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.Create(Microsoft.Data.OData.Evaluation.UrlConvention)">
            <summary>
            Creates a new key serializer.
            </summary>
            <param name="urlConvention">The url convention to use.</param>
            <returns>
            A new key serializer.
            </returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.AppendKeyExpression``1(System.Text.StringBuilder,System.Collections.Generic.ICollection{``0},System.Func{``0,System.String},System.Func{``0,System.Object})">
            <summary>
            Appends the key expression for an entity to the given <see cref="T:System.Text.StringBuilder"/>
            </summary>
            <typeparam name="TProperty">The type used to represent properties.</typeparam>
            <param name="builder">The builder to append onto.</param>
            <param name="keyProperties">The key properties.</param>
            <param name="getPropertyName">The callback to get each property's name.</param>
            <param name="getPropertyValue">The callback to get each property's value.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.GetKeyValueAsString``1(System.Func{``0,System.Object},``0,Microsoft.Data.OData.Evaluation.LiteralFormatter)">
            <summary>
            Gets the value of the key property and serializes it to a string.
            </summary>
            <typeparam name="TProperty">The type used to represent properties.</typeparam>
            <param name="getPropertyValue">The callback to get the value for a property.</param>
            <param name="property">The key property.</param>
            <param name="literalFormatter">The literal formatter to use.</param>
            <returns>The serialized key property value.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.AppendKeyWithParentheses``1(System.Text.StringBuilder,System.Collections.Generic.ICollection{``0},System.Func{``0,System.String},System.Func{``0,System.Object})">
            <summary>
            Appends the key using the parentheses-based syntax (e.g. Customers(1)) onto the given <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="builder">The builder to append onto.</param>
            <typeparam name="TProperty">The type used to represent properties.</typeparam>
            <param name="keyProperties">The key properties.</param>
            <param name="getPropertyName">The callback to get each property's name.</param>
            <param name="getPropertyValue">The callback to get each property's value.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Evaluation.KeySerializer.DefaultKeySerializer">
            <summary>
            Default implementation of the key serializer which uses parentheses (e.g. Customers(1)).
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.DefaultKeySerializer.#ctor">
            <summary>
            Creates a new instance of <see cref="T:Microsoft.Data.OData.Evaluation.KeySerializer.DefaultKeySerializer"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.DefaultKeySerializer.AppendKeyExpression``1(System.Text.StringBuilder,System.Collections.Generic.ICollection{``0},System.Func{``0,System.String},System.Func{``0,System.Object})">
            <summary>
            Appends the key expression for an entity to the given <see cref="T:System.Text.StringBuilder"/>
            </summary>
            <param name="builder">The builder to append onto.</param>
            <typeparam name="TProperty">The type used to represent properties.</typeparam>
            <param name="keyProperties">The key properties.</param>
            <param name="getPropertyName">The callback to get each property's name.</param>
            <param name="getPropertyValue">The callback to get each property's value.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Evaluation.KeySerializer.SegmentKeySerializer">
            <summary>
            Implementation of the key serializer which uses segments (e.g. Customers/1).
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.SegmentKeySerializer.#ctor">
            <summary>
            Creates a new instance of <see cref="T:Microsoft.Data.OData.Evaluation.KeySerializer.SegmentKeySerializer"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.SegmentKeySerializer.AppendKeyExpression``1(System.Text.StringBuilder,System.Collections.Generic.ICollection{``0},System.Func{``0,System.String},System.Func{``0,System.Object})">
            <summary>
            Appends the key expression for an entity to the given <see cref="T:System.Text.StringBuilder"/>
            </summary>
            <param name="builder">The builder to append onto.</param>
            <typeparam name="TProperty">The type used to represent properties.</typeparam>
            <param name="keyProperties">The key properties.</param>
            <param name="getPropertyName">The callback to get each property's name.</param>
            <param name="getPropertyValue">The callback to get each property's value.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.KeySerializer.SegmentKeySerializer.AppendKeyWithSegments``1(System.Text.StringBuilder,System.Collections.Generic.ICollection{``0},System.Func{``0,System.Object})">
            <summary>
            Appends the key for the current resource using segment-based syntax (e.g. Customers/1) onto the given <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <param name="builder">The builder to append onto.</param>
            <typeparam name="TProperty">The type used to represent properties.</typeparam>
            <param name="keyProperties">The key properties.</param>
            <param name="getPropertyValue">The callback to get each property's value.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Evaluation.UrlConvention">
            <summary>
            Component for representing the url convention in use by the server, client, or codegen.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.UrlConvention.ConventionTermNamespace">
            <summary>
            The namespace of the term to use when building value annotations for indicating the conventions used.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.UrlConvention.ConventionTermName">
            <summary>
            The name of the term to use when building value annotations for indicating the conventions used.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.UrlConvention.KeyAsSegmentConventionName">
            <summary>
            The string value for indicating that the key-as-segment convention is being used in annotations and headers.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.UrlConvention.UrlConventionHeaderName">
            <summary>
            The name of the request header for indicating what conventions are being used.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Evaluation.UrlConvention.generateKeyAsSegment">
            <summary>
            Whether to generate entity keys as '/'-delimited segments instead of using parenthesis.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.UrlConvention.#ctor(System.Boolean)">
            <summary>
            Prevents a default instance of the <see cref="T:Microsoft.Data.OData.Evaluation.UrlConvention"/> class from being created.
            </summary>
            <param name="generateKeyAsSegment">Whether keys should be generated as segments.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.UrlConvention.CreateWithExplicitValue(System.Boolean)">
            <summary>
            Helper for creating an instance with explicit value. Should only be called from unit tests.
            </summary>
            <param name="generateKeyAsSegment">Whether keys should be generated as segments.</param>
            <returns>A new UrlConvention instance with the given value.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.UrlConvention.ForEntityContainer(Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmEntityContainer)">
            <summary>
            Gets the url convention for the given entity container based on its vocabulary annotations.
            </summary>
            <param name="model">The model the entity container belongs to.</param>
            <param name="container">The container to get the url convention for.</param>
            <returns>The url convention of the container.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.UrlConvention.ForUserSettingAndTypeContext(System.Nullable{System.Boolean},Microsoft.Data.OData.IODataFeedAndEntryTypeContext)">
            <summary>
            Gets the url convention for the given user setting and type context.
            </summary>
            <param name="keyAsSegment">true if keys should go in seperate segments in auto-generated URIs, false if they should go in parentheses.
            A null value means the user hasn't specified a preference and we should look for an annotation in the entity container, if available.</param>
            <param name="typeContext">The type context for the entry or feed being written.</param>
            <returns>The convention to use when generating URLs.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.UrlConvention.IsKeyAsSegmentUrlConventionAnnotation(Microsoft.Data.Edm.Annotations.IEdmValueAnnotation)">
            <summary>
            Determines whether or not the annotation indicates the 'KeyAsSegment' url-convention.
            </summary>
            <param name="annotation">The annotation to check.</param>
            <returns>True if the annotation indicates the 'KeyAsSegment' url convention; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.UrlConvention.IsKeyAsSegment(Microsoft.Data.Edm.Expressions.IEdmExpression)">
            <summary>
            Determines whether or not the value is 'KeyAsSegment'.
            </summary>
            <param name="value">The value to check.</param>
            <returns>True if the value is 'KeyAsSegment'.; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Evaluation.UrlConvention.IsUrlConventionTerm(Microsoft.Data.Edm.IEdmTerm)">
            <summary>
            Determines whether or not the term is the url-convention term.
            </summary>
            <param name="term">The term to check.</param>
            <returns>True if the term is the url-convention term.; false otherwise.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Evaluation.UrlConvention.GenerateKeyAsSegment">
            <summary>
            Whether to generate entity keys as '/'-delimited segments instead of using parenthesis.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.BinaryOperatorBinder">
            <summary>
            Class that knows how to bind binary operators.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.BinaryOperatorBinder.bindMethod">
            <summary>
            Method to use for binding the parent node, if needed.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.BinaryOperatorBinder.#ctor(System.Func{Microsoft.Data.OData.Query.SyntacticAst.QueryToken,Microsoft.Data.OData.Query.SemanticAst.QueryNode})">
            <summary>
            Constructs a BinaryOperatorBinder with the given method to be used binding the parent token if needed.
            </summary>
            <param name="bindMethod">Method to use for binding the parent token, if needed.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.BinaryOperatorBinder.BindBinaryOperator(Microsoft.Data.OData.Query.SyntacticAst.BinaryOperatorToken)">
            <summary>
            Binds a binary operator token.
            </summary>
            <param name="binaryOperatorToken">The binary operator token to bind.</param>
            <returns>The bound binary operator token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.BinaryOperatorBinder.PromoteOperandTypes(Microsoft.Data.OData.Query.BinaryOperatorKind,Microsoft.Data.OData.Query.SemanticAst.SingleValueNode@,Microsoft.Data.OData.Query.SemanticAst.SingleValueNode@)">
            <summary>
            Promote the left and right operand types
            </summary>
            <param name="binaryOperatorKind">the operator kind</param>
            <param name="left">the left operand</param>
            <param name="right">the right operand</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.BinaryOperatorBinder.GetOperandFromToken(Microsoft.Data.OData.Query.BinaryOperatorKind,Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Retrieve SingleValueNode bound with given query token.
            </summary>
            <param name="operatorKind">the query token kind</param>
            <param name="queryToken">the query token</param>
            <returns>the corresponding SingleValueNode</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.BindingState">
            <summary>
            Encapsulates the state of metadata binding.
            TODO : finish moving fields from MetadataBinder here and see if anything can be removed.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.BindingState.configuration">
            <summary>
            The configuration used for binding.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.BindingState.rangeVariables">
            <summary>
            The dictionary used to store mappings between Any visitor and corresponding segment paths
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.BindingState.implicitRangeVariable">
            <summary>
            If there is a $filter or $orderby, then this member holds the reference to the parameter node for the
            implicit parameter ($it) for all expressions.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.BindingState.queryOptions">
            <summary>
            Collection of query option tokens associated with the currect query being processed.
            If a given query option is bound it should be removed from this collection.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.BindingState.#ctor(Microsoft.Data.OData.Query.ODataUriParserConfiguration)">
            <summary>
            Constructs a <see cref="T:Microsoft.Data.OData.Query.BindingState"/> with the given <paramref name="configuration"/>.
            </summary>
            <param name="configuration">The configuration used for binding.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.BindingState.Model">
            <summary>
            The model used for binding.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.BindingState.Configuration">
            <summary>
            The configuration used for binding.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.BindingState.ImplicitRangeVariable">
            <summary>
            If there is a $filter or $orderby, then this member holds the reference to the parameter node for the
            implicit parameter ($it) for all expressions.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.BindingState.RangeVariables">
            <summary>
            The dictionary used to store mappings between Any visitor and corresponding segment paths
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.BindingState.QueryOptions">
            <summary>
            Collection of query option tokens associated with the currect query being processed.
            If a given query option is bound it should be removed from this collection.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataUriParserConfiguration">
            <summary>
            Internal class for storing all the configuration information about the URI parser. Allows us to flow these values around without passing an actual parser.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserConfiguration.model">
            <summary>
            Model to use for metadata binding.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserConfiguration.serviceRoot">
            <summary>
            Absolute URI of the service root.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserConfiguration.urlConventions">
            <summary>The conventions to use when parsing URLs.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParserConfiguration.#ctor(Microsoft.Data.Edm.IEdmModel,System.Uri)">
            <summary>
            Initializes a new instance of <see cref="T:Microsoft.Data.OData.Query.ODataUriParserConfiguration"/>.
            </summary>
            <param name="model">Model to use for metadata binding.</param>
            <param name="serviceRoot">Absolute URI of the service root.</param>
            <exception cref="T:System.ArgumentNullException">Throws if input model is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the input serviceRoot is not an AbsoluteUri</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserConfiguration.Settings">
            <summary>
            The settings for this instance of <see cref="T:Microsoft.Data.OData.Query.ODataUriParser"/>. Refer to the documentation for the individual properties of <see cref="T:Microsoft.Data.OData.Query.ODataUriParserSettings"/> for more information.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserConfiguration.Model">
            <summary>
            Gets the model for this ODataUriParser
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserConfiguration.ServiceRoot">
            <summary>
            Gets the absolute URI of the service root.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserConfiguration.UrlConventions">
            <summary>
            Gets or Sets the <see cref="T:Microsoft.Data.OData.Query.ODataUrlConventions"/> to use while parsing, specifically
            whether to recognize keys as segments or not.
            </summary>
            <exception cref="T:System.ArgumentNullException">Throws if the input value is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserConfiguration.BatchReferenceCallback">
            <summary>
            Gets or Sets a callback that returns a BatchReferenceSegment (to be used for $0 in batch)
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserConfiguration.FunctionParameterAliasCallback">
            <summary>
            Gets or sets a callback that returns the raw string value for an aliased function parameter.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.DottedIdentifierBinder">
            <summary>
            Class that knows how to bind CastTokens.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DottedIdentifierBinder.bindMethod">
            <summary>
            Method to use for binding the parent node, if needed.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DottedIdentifierBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Constructs a DottedIdentifierBinder with the given method to be used binding the parent token if needed.
            </summary>
            <param name="bindMethod">Method to use for binding the parent token, if needed.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DottedIdentifierBinder.BindDottedIdentifier(Microsoft.Data.OData.Query.SyntacticAst.DottedIdentifierToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Binds a DottedIdentifierToken and it's parent node (if needed).
            </summary>
            <param name="dottedIdentifierToken">Token to bind to metadata.</param>
            <param name="state">State of the Binding.</param>
            <returns>A bound node representing the cast.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.DataServiceProviderMethods">
            <summary>Use this class to perform late-bound operations on data service entity sets.</summary>
            <remarks>This class was copied from the product.</remarks>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.GetValueMethodInfo">
            <summary>MethodInfo for object DataServiceProviderMethods.GetValue(this object value, string propertyName).</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.GetSequenceValueMethodInfo">
            <summary>MethodInfo for IEnumerable&lt;T&gt; DataServiceProviderMethods.GetSequenceValue(this object value, string propertyName).</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.ConvertMethodInfo">
            <summary>MethodInfo for Convert.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.TypeIsMethodInfo">
            <summary>MethodInfo for TypeIs.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.StringCompareMethodInfo">
            <summary>Method info for string comparison</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.BoolCompareMethodInfo">
            <summary>Method info for Bool comparison</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.BoolCompareMethodInfoNullable">
            <summary>Method info for Bool? comparison</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.GuidCompareMethodInfo">
            <summary>Method info for Guid comparison</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.GuidCompareMethodInfoNullable">
            <summary>Method info for Guid? comparison</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.AreByteArraysEqualMethodInfo">
            <summary>Method info for byte array comparison.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.DataServiceProviderMethods.AreByteArraysNotEqualMethodInfo">
            <summary>Method info for byte array comparison.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.GetValue(System.Object,Microsoft.Data.Edm.IEdmProperty)">
            <summary>Gets a named value from the specified object.</summary>
            <param name="value">Object to get value from.</param>
            <param name="property"><see cref="T:Microsoft.Data.Edm.IEdmProperty"/> describing the property whose value needs to be fetched.</param>
            <returns>The requested value.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.GetSequenceValue``1(System.Object,Microsoft.Data.Edm.IEdmProperty)">
            <summary>Gets a named value from the specified object as a sequence.</summary>
            <param name="value">Object to get value from.</param>
            <param name="property"><see cref="T:Microsoft.Data.Edm.IEdmProperty"/> describing the property whose value needs to be fetched.</param>
            <typeparam name="T">expected result type</typeparam>
            <returns>The requested value as a sequence; null if not found.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.Convert(System.Object,Microsoft.Data.Edm.IEdmTypeReference)">
            <summary>Performs an type cast on the specified value.</summary>
            <param name='value'>Value.</param>
            <param name='typeReference'>Type reference to check for.</param>
            <returns>Casted value.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.TypeIs(System.Object,Microsoft.Data.Edm.IEdmTypeReference)">
            <summary>Performs an type check on the specified value.</summary>
            <param name='value'>Value.</param>
            <param name='typeReference'>Type reference type to check for.</param>
            <returns>True if value is-a type; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.Compare(System.String,System.String)">
            <summary>
            Compares 2 strings by ordinal, used to obtain MethodInfo for comparison operator expression parameter
            </summary>
            <param name="left">Left Parameter</param>
            <param name="right">Right Parameter</param>
            <returns>0 for equality, -1 for left less than right, 1 for left greater than right</returns>
            <remarks>
            Do not change the name of this function because LINQ to SQL is sensitive about the
            method name, so is EF probably.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.Compare(System.Boolean,System.Boolean)">
            <summary>
            Compares 2 booleans with true greater than false, used to obtain MethodInfo for comparison operator expression parameter
            </summary>
            <param name="left">Left Parameter</param>
            <param name="right">Right Parameter</param>
            <returns>0 for equality, -1 for left less than right, 1 for left greater than right</returns>
            <remarks>
            Do not change the name of this function because LINQ to SQL is sensitive about the
            method name, so is EF probably.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.Compare(System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
            <summary>
            Compares 2 nullable booleans with true greater than false, used to obtain MethodInfo for comparison operator expression parameter
            </summary>
            <param name="left">Left Parameter</param>
            <param name="right">Right Parameter</param>
            <returns>0 for equality, -1 for left less than right, 1 for left greater than right</returns>
            <remarks>
            Do not change the name of this function because LINQ to SQL is sensitive about the
            method name, so is EF probably.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.Compare(System.Guid,System.Guid)">
            <summary>
            Compares 2 guids by byte order, used to obtain MethodInfo for comparison operator expression parameter
            </summary>
            <param name="left">Left Parameter</param>
            <param name="right">Right Parameter</param>
            <returns>0 for equality, -1 for left less than right, 1 for left greater than right</returns>
            <remarks>
            Do not change the name of this function because LINQ to SQL is sensitive about the
            method name, so is EF probably.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.Compare(System.Nullable{System.Guid},System.Nullable{System.Guid})">
            <summary>
            Compares 2 nullable guids by byte order, used to obtain MethodInfo for comparison operator expression parameter
            </summary>
            <param name="left">Left Parameter</param>
            <param name="right">Right Parameter</param>
            <returns>0 for equality, -1 for left less than right, 1 for left greater than right</returns>
            <remarks>
            Do not change the name of this function because LINQ to SQL is sensitive about the
            method name, so is EF probably.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.AreByteArraysEqual(System.Byte[],System.Byte[])">
            <summary>Compares two byte arrays for equality.</summary>
            <param name="left">First byte array.</param>
            <param name="right">Second byte array.</param>
            <returns>true if the arrays are equal; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.DataServiceProviderMethods.AreByteArraysNotEqual(System.Byte[],System.Byte[])">
            <summary>Compares two byte arrays for equality.</summary>
            <param name="left">First byte array.</param>
            <param name="right">Second byte array.</param>
            <returns>true if the arrays are not equal; false otherwise.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ExceptionUtil">
            <summary>
            Helper class for throwing exceptions during URI parsing.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExceptionUtil.CreateResourceNotFound(System.String)">
            <summary>Creates a new "Resource Not Found" exception.</summary>
            <param name="identifier">segment identifier information for which resource was not found.</param>
            <returns>A new exception to indicate the requested resource cannot be found.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExceptionUtil.ResourceNotFoundError(System.String)">
            <summary>Creates a new "Resource Not Found" exception.</summary>
            <param name="errorMessage">Plain text error message for this exception.</param>
            <returns>A new exception to indicate the requested resource cannot be found.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExceptionUtil.CreateSyntaxError">
            <summary>Creates a new exception to indicate a syntax error.</summary>
            <returns>A new exception to indicate a syntax error.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExceptionUtil.CreateBadRequestError(System.String)">
            <summary>
            Creates a new exception to indicate BadRequest error.
            </summary>
            <param name="message">Plain text error message for this exception.</param>
            <returns>A new exception to indicate a bad request error.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExceptionUtil.ThrowSyntaxErrorIfNotValid(System.Boolean)">
            <summary>Checks the specific value for syntax validity.</summary>
            <param name="valid">Whether syntax is valid.</param>
            <remarks>This helper method is used to keep syntax check code more terse.</remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExceptionUtil.ThrowIfResourceDoesNotExist(System.Boolean,System.String)">
            <summary>Checks the specifid value for syntax validity.</summary>
            <param name="resourceExists">Whether syntax is valid.</param>
            <param name="identifier">segment indentifier for which the resource was null.</param>
            <remarks>This helper method is used to keep syntax check code more terse.</remarks>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator">
            <summary>
            A component for walking an expand tree and determining if the depth or number of items exceed user-specified limits.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator.maxDepth">
            <summary>
            The maximum depth of any expand tree being validated.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator.maxCount">
            <summary>
            The maximum number of expand items allowed in any expand tree being validated, including leaf and non-leaf nodes.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator.currentCount">
            <summary>
            The current count when validating a particular tree.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of <see cref="T:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator"/>.
            </summary>
            <param name="maxDepth">The maximum depth of an expand tree.</param>
            <param name="maxCount">The maximum number of expanded items allowed in a tree.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator.Validate(Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause)">
            <summary>
            Validates the given tree against the user-specified limits.
            </summary>
            <param name="expandTree">The expand tree to validate.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpandDepthAndCountValidator.EnsureMaximumCountAndDepthAreNotExceeded(Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause,System.Int32)">
            <summary>
            Recursively ensures that the maximum count/depth are not exceeded by walking the tree.
            </summary>
            <param name="expandTree">The expand tree to walk and validate.</param>
            <param name="currentDepth">The current depth of the tree walk.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.FunctionParameterParser">
            <summary>
            Component for parsing function parameters in both $filter/$orderby expressions and in paths.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TrySplitFunctionParameters(Microsoft.Data.OData.Query.ExpressionLexer,System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken}@)">
            <summary>
            Tries to parse a collection of function parameters. Allows path and filter to share the core algorithm while representing parameters differently.
            </summary>
            <param name="lexer">The lexer to read from.</param>
            <param name="splitParameters">The parameters if they were successfully split.</param>
            <returns>Whether the parameters could be split.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TryParseFunctionParameters(System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken},Microsoft.Data.OData.Query.ODataUriParserConfiguration,Microsoft.Data.Edm.IEdmFunctionImport,System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken}@)">
            <summary>
            Tries to parse a collection of function parameters for filter/orderby.
            </summary>
            <param name="splitParameters">The syntactically split parameters to parse.</param>
            <param name="configuration">The configuration for the URI Parser.</param>
            <param name="functionImport">The function import for the function whose parameters are being parsed.</param>
            <param name="parsedParameters">The parameters if they were successfully parsed.</param>
            <returns>Whether the parameters could be parsed.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TrySplitFunctionParameters(System.String,System.String,System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken}@)">
            <summary>
            Tries to parse a collection of function parameters for path.
            </summary>
            <param name="functionName">The function name to use in error messages.</param>
            <param name="parenthesisExpression">The contents of the parentheses portion of the current path segment.</param>
            <param name="splitParameters">The parameters if they were successfully split.</param>
            <returns>Whether the parameters could be split.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TryParseFunctionParameters(System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken},Microsoft.Data.OData.Query.ODataUriParserConfiguration,Microsoft.Data.Edm.IEdmFunctionImport,System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter}@)">
            <summary>
            Tries to parse a collection of function parameters for path.
            </summary>
            <param name="splitParameters">The split parameters from the syntactic parsing step.</param>
            <param name="configuration">The configuration for the URI Parser.</param>
            <param name="functionImport">The function import for the function whose parameters are being parsed.</param>
            <param name="parsedParameters">The parameters if they were successfully parsed.</param>
            <returns>Whether the parameters could be parsed.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TrySplitFunctionParameters(Microsoft.Data.OData.Query.ExpressionLexer,Microsoft.Data.OData.Query.ExpressionTokenKind,System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken}@)">
            <summary>
            Tries to parse a collection of function parameters. Allows path and filter to share the core algorithm while representing parameters differently.
            </summary>
            <param name="lexer">The lexer to read from.</param>
            <param name="endTokenKind">The token kind that marks the end of the parameters.</param>
            <param name="splitParameters">The parameters if they were successfully split.</param>
            <returns>Whether the parameters could be split.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TryParseFunctionParameters``1(System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken},Microsoft.Data.OData.Query.ODataUriParserConfiguration,Microsoft.Data.Edm.IEdmFunctionImport,System.Func{System.String,System.Object,``0},System.Collections.Generic.ICollection{``0}@)">
            <summary>
            Tries to parse a collection of function parameters. Allows path and filter to share the core algorithm while representing parameters differently.
            </summary>
            <typeparam name="TParam">The type representing a parameter.</typeparam>
            <param name="splitParameters">The syntactically split parameters to parse.</param>
            <param name="configuration">The configuration for the URI Parser.</param>
            <param name="functionImport">The function import for the function whose parameters are being parsed.</param>
            <param name="createParameter">The callback to use for individual parameter parsing.</param>
            <param name="parsedParameters">The parameters if they were successfully parsed.</param>
            <returns>Whether the parameters could be parsed.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TryCreateParameterValueToken(Microsoft.Data.OData.Query.ExpressionToken,Microsoft.Data.OData.Query.SyntacticAst.QueryToken@)">
            <summary>
            Tries to create a parameter using any representation based on the provided delegate for creating it from a converted value.
            </summary>
            <param name="expressionToken">The current expression parameterToken from the lexer.</param>
            <param name="parameterValue">The parameter value if one was successfully created.</param>
            <returns>Whether the parameter could be created from the parameterToken.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionParameterParser.TryCreateParameter``1(Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken,Microsoft.Data.OData.Query.ODataUriParserConfiguration,Microsoft.Data.Edm.IEdmTypeReference,System.Func{System.Object,``0},``0@)">
            <summary>
            Tries to create a parameter using any representation based on the provided delegate for creating it from a converted value.
            </summary>
            <typeparam name="TParam">The type used to represent a parameter.</typeparam>
            <param name="parameterToken">The token from the syntactic parsing step.</param>
            <param name="configuration">The configuration for the URI Parser.</param>
            <param name="expectedType">The type that the parameter is expected to resolve to.</param>
            <param name="createParameter">Callback to create the final parameter from the parsed value.</param>
            <param name="parameter">The parameter if one was successfully created.</param>
            <returns>Whether the parameter could be created from the parameterToken.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.RawFunctionParameterValueToken">
            <summary>
            A token to represent a raw function parameter value that has not yet been parsed further.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.QueryToken">
            <summary>
            Base class for all lexical tokens of OData query.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.ODataAnnotatable">
            <summary>
            Base class for all annotatable types in OData library.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.ODataAnnotatable.annotations">
            <summary>The map of annotationsAsArray keyed by type.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.ODataAnnotatable.instanceAnnotations">
            <summary>
            Collection of custom instance annotations.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.GetAnnotation``1">
            <summary>Gets or sets the annotation by type.</summary>
            <returns>The annotation of type T or null if not present.</returns>
            <typeparam name="T">The type of the annotation.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.SetAnnotation``1(``0)">
            <summary>Sets an annotation of type T.</summary>
            <param name="annotation">The annotation to set.</param>
            <typeparam name="T">The type of the annotation.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.VerifySetAnnotation(System.Object)">
            <summary>
            Verifies that <paramref name="annotation"/> can be added as an annotation of this.
            </summary>
            <param name="annotation">Annotation instance.</param>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.GetOrCreateAnnotation``1">
            <summary>
            Get the annotation of type <typeparamref name="T"/>. If the annotation is not found, create a new
            instance of the annotation and call SetAnnotation on it then return the newly created instance.
            </summary>
            <typeparam name="T">The type of the annotation.</typeparam>
            <returns>The annotation of type <typeparamref name="T"/>.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.GetInstanceAnnotations">
            <summary>
            Gets the custom instance annotations.
            </summary>
            <returns>The custom instance annotations.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.SetInstanceAnnotations(System.Collections.Generic.ICollection{Microsoft.Data.OData.ODataInstanceAnnotation})">
            <summary>
            Sets the custom instance annotations.
            </summary>
            <param name="value">The new value to set.</param>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.IsOfType(System.Object,System.Type)">
            <summary>
            Check whether a given (non-null) instance is of the specified type (no sub-type).
            </summary>
            <param name="instance">The (non-null) instance to test.</param>
            <param name="type">The type to check for.</param>
            <returns>True if the types match; otherwise false.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.AddOrReplaceAnnotation``1(``0)">
            <summary>
            Replace an existing annotation of type T or add a new one
            if no annotation of type T exists.
            </summary>
            <typeparam name="T">The type of the annotation.</typeparam>
            <param name="annotation">The annotation to set.</param>
        </member>
        <member name="M:Microsoft.Data.OData.ODataAnnotatable.RemoveAnnotation``1">
            <summary>
            Remove the annotation of type T from the set of annotations (if such an annotation exists).
            We only allow a single occurence of an annotation of type T.
            </summary>
            <typeparam name="T">The type of the annotation to remove.</typeparam>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.QueryToken.EmptyTokens">
            <summary>
            Empty list of arguments.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.QueryToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.QueryToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.QueryToken.Kind">
            <summary>
            The kind of the query token.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.RawFunctionParameterValueToken.#ctor(System.String)">
            <summary>
            Creates a RawFunctionParameterValue
            </summary>
            <param name="rawText">the raw text of this parameter value.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.RawFunctionParameterValueToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.QueryToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.RawFunctionParameterValueToken.RawText">
            <summary>
            Gets the raw text of the value.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.RawFunctionParameterValueToken.Kind">
            <summary>
            Gets the kind of this token
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterAliasToken">
            <summary>
            A token to represent a parameter alias in a function call.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterAliasToken.#ctor(System.String)">
            <summary>
            Creates a FunctionParameterAliasToken
            </summary>
            <param name="alias">the alias being used for the parameter.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterAliasToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.QueryToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterAliasToken.Alias">
            <summary>
            Gets the alias.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterAliasToken.Kind">
            <summary>
            Gets the kind of this token
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken">
            <summary>
            A token to represent a parameter to a function call.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.EmptyParameterList">
            <summary>
            get an empty list of parameters
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.parameterName">
            <summary>
            The name of the parameter
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.valueToken">
            <summary>
            The value of this parameter
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.#ctor(System.String,Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Creates a FunctionParameterToken
            </summary>
            <param name="parameterName">the name of this parameter</param>
            <param name="valueToken">the syntactically parsed value</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.QueryToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.ParameterName">
            <summary>
            Gets the name of this parameter
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.ValueToken">
            <summary>
            Gets the syntactically parsed value of this token.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken.Kind">
            <summary>
            Gets the kind of this token
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode">
            <summary>
            Node representing a semantically parsed parameter to a function.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode">
            <summary>
            Base class for all semantic metadata bound nodes.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.QueryNode.Kind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.QueryNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.name">
            <summary>
            The name of this parameter
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.value">
            <summary>
            The semantically parsed value of this parameter
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.#ctor(System.String,Microsoft.Data.OData.Query.SemanticAst.QueryNode)">
            <summary>
            Creates a NamedFunctionParameterNode to represent a semantically parsed parameter to a function.
            </summary>
            <param name="name">the name of this function</param>
            <param name="value">the already semantically parsed value of this parameter.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.Name">
            <summary>
            Gets the name of this parameter
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.Value">
            <summary>
            Gets the semantically parsed value of this parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.Kind">
            <summary>
            Gets the kind of this node
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataUriParserSettings">
            <summary>
            Settings used by <see cref="T:Microsoft.Data.OData.Query.ODataUriParser"/>.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.DefaultFilterLimit">
            <summary>
            Default recursive call limit for Filter
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.DefaultOrderByLimit">
            <summary>
            Default recursive call limit for OrderBy
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.DefaultSelectExpandLimit">
            <summary>
            Default tree depth for Select and Expand
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.DefaultPathLimit">
            <summary>
            Default limit for the path parser.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.filterLimit">
            <summary>
            the recursive depth of the Syntactic tree for a filter clause
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.orderByLimit">
            <summary>
            the maximum depth of the syntactic tree for an orderby clause
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.pathLimit">
            <summary>
            the maximum number of segments in a path
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.selectExpandLimit">
            <summary>
            the maximum depth of the Syntactic or Semantic tree for a Select or Expand clause
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.supportExpandOptions">
            <summary>
            Flag that indiactes whether or not inlined query options like $filter within $expand clauses as supported.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.useWcfDataServicesServerBehavior">
            <summary>
            Whether use the behavior that the WCF DS Server had before integration.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.maxExpandDepth">
            <summary>
            The maximum depth of the tree that results from parsing $expand.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParserSettings.maxExpandCount">
            <summary>
            The maximum number of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem"/> instances that can appear in the tree that results from parsing $expand.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParserSettings.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:Microsoft.Data.OData.Query.ODataUriParserSettings"/> with default values.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParserSettings.EnableWcfDataServicesServerBehavior">
            <summary>Specifies whether the WCF data services server behavior is enabled.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.MaximumExpansionDepth">
            <summary>
            Gets or sets the maximum depth of the tree that results from parsing $expand.
            </summary>
            <remarks>
            This will be validated after parsing completes, and so should not be used to prevent the instantiation of large trees.
            Further, redundant expansions will be pruned before validation and will not count towards the maximum.
            </remarks>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.MaximumExpansionCount">
            <summary>
            Gets or sets the maximum number of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem"/> instances that can appear in the tree that results from parsing $expand.
            </summary>
            <remarks>
            This will be validated after parsing completes, and so should not be used to prevent the instantiation of large trees.
            Further, redundant expansions will be pruned before validation and will not count towards the maximum.
            </remarks>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.SelectExpandLimit">
            <summary>
            Gets or Sets the maximum recursive depth for a select and expand clause, which limits the maximum depth of the tree that can be parsed by the
            syntactic parser. This guarantees a set level of performance.
            </summary>
            <remarks>
            The number here doesn't necessarily correspond exactly with the actual maximum recursive depth of the syntactic tree,
            i.e a limit of 20 doesn't necessarily mean that a tree will have depth exactly 20, it may have depth 10 (but never over 20).
            Think of it more as an upper bound.
            </remarks>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input value is negative.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.UseWcfDataServicesServerBehavior">
            <summary>
            Gets or Sets a flag that indicates Whether use the behavior that the WCF DS Server had before integration.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.SupportExpandOptions">
            <summary>
            Gets or sets a flag that indiactes whether or not inlined query options like $filter within $expand clauses as supported.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.FilterLimit">
            <summary>
            Gets or Sets the limit on the maximum depth of the filter tree that can be parsed by the
            syntactic parser. This guarantees a set level of performance.
            </summary>
            <remarks>
            The number here doesn't necessarily correspond exactly with the actual maximum recursive depth of the syntactic tree,
            i.e a limit of 20 doesn't necessarily mean that a tree will have depth exactly 20, it may have depth 10 (but never over 20).
            Think of it more as an upper bound.
            </remarks>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input value is negative.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.OrderByLimit">
            <summary>
            Gets or sets the maximum recursive depth for an orderby clause, which limits the maximum depth of the tree that can be parsed by the
            syntactic parser. This guarantees a set level of performance.
            </summary>
            <remarks>
            The number here doesn't necessarily correspond exactly with the actual maximum recursive depth of the syntactic tree,
            i.e a limit of 20 doesn't necessarily mean that a tree will have depth exactly 20, it may have depth 10 (but never over 20).
            Think of it more as an upper bound.
            </remarks>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input value is negative.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParserSettings.PathLimit">
            <summary>
            Gets or Sets the limit on the maximum number of segments that can be parsed by the
            syntactic parser. This guarantees a set level of performance.
            </summary>
            <remarks>
            Unlike Filter, OrderBy, and SelectExpand, this Limit is more concrete, and will
            limit the segments to exactly the number that is specified... i.e. a limit of
            20 will throw if and only if there are more than 20 segments in the path.
            </remarks>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input value is negative.</exception>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataUriSemanticBinder">
            <summary>
            Bind an entire Uri to Metadata.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriSemanticBinder.bindingState">
            <summary>
            The current state of the binding algorithm.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriSemanticBinder.bindMethod">
            <summary>
            pointer to the metadata bind method.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.#ctor(Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Create a new ODataUriSemanticBinder to bind an entire uri to Metadata.
            </summary>
            <param name="bindingState">the current state of the binding algorithm</param>
            <param name="bindMethod">pointer to the metadata bind method.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.BindTree(Microsoft.Data.OData.Query.SyntacticTree)">
            <summary>
            Binds a <see cref="T:Microsoft.Data.OData.Query.SyntacticTree"/>.
            </summary>
            <param name="syntax">The query descriptor token to bind.</param>
            <returns>The bound query descriptor.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.BindInlineCount(Microsoft.Data.OData.Query.SyntacticTree,Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Bind an inline count option
            </summary>
            <param name="syntax">The inline count option to bind.</param>
            <param name="path">the top level path</param>
            <returns>an InlineCountKind representing this inline count option</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.BindSelectExpand(Microsoft.Data.OData.Query.SyntacticTree,Microsoft.Data.OData.Query.SemanticAst.ODataPath,Microsoft.Data.OData.Query.ODataUriParserConfiguration)">
            <summary>
            Bind a select and expand option.
            </summary>
            <param name="syntax">A syntax tree containing the select and expand options to bind</param>
            <param name="path">the top level path</param>
            <param name="configuration">The configuration to use for binding.</param>
            <returns>a select expand clause bound to metadata</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.BindTop(Microsoft.Data.OData.Query.SyntacticTree,Microsoft.Data.OData.Query.SemanticAst.RangeVariable,Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Bind a top option
            </summary>
            <param name="syntax">a syntax tree containing the top option to bind</param>
            <param name="rangeVariable">the range variable that iterates over the top level collection</param>
            <param name="path">the top level path</param>
            <returns>a nullable long representing this top option</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.BindSkip(Microsoft.Data.OData.Query.SyntacticTree,Microsoft.Data.OData.Query.SemanticAst.RangeVariable,Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Bind a skip option
            </summary>
            <param name="syntax">a syntax tree containing the skip option</param>
            <param name="rangeVariable">the range variable that iterates over the top level collection</param>
            <param name="path">the top level path.</param>
            <returns>a nullable long representing this skip option</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.BindOrderBy(Microsoft.Data.OData.Query.SyntacticTree,Microsoft.Data.OData.Query.SemanticAst.RangeVariable,Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Bind an orderby option
            </summary>
            <param name="syntax">a syntac tree containing the orderby option</param>
            <param name="rangeVariable">the range variable that iterates over the top level collection</param>
            <param name="path">the top level path</param>
            <returns>an OrderByClause representing this orderby option</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriSemanticBinder.BindFilter(Microsoft.Data.OData.Query.SyntacticTree,Microsoft.Data.OData.Query.SemanticAst.RangeVariable)">
            <summary>
            Bind a filter option
            </summary>
            <param name="syntax">a syntactic tree containing the filter option</param>
            <param name="rangeVariable">the range variable that iterates over the top level collection.</param>
            <returns>A filter clause representing this filter option</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.FunctionOverloadResolver">
            <summary>
            Helper class to help bind function overloads.
            This is shared between path and filter/orderby function resolution.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionOverloadResolver.ResolveOverloadsByParameterNames(System.Collections.Generic.ICollection{Microsoft.Data.Edm.IEdmFunctionImport},System.Collections.Generic.ICollection{System.String},System.String)">
            <summary>
            Given a list of possible functions and a list of parameter names, choose a single function that exactly matches
            the parameter names. If more than one function matches, throw.
            </summary>
            <remarks>
            Binding parameters will be ignored in this method. Only non-binding parameters are matched.
            </remarks>
            <param name="functionImports">The list of function imports to search.</param>
            <param name="parameters">The list of non-binding parameter names to match.</param>
            <param name="functionName">Name of the function. Only used for error strings.</param>
            <returns>A single function import that matches the parameter names exactly.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionOverloadResolver.ResolveFunctionsFromList(System.String,System.Collections.Generic.IList{System.String},Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmFunctionImport@)">
            <summary>
            Try to resolve a function from the given inputs.
            </summary>
            <param name="identifier">The identifier of the function that we're trying to find</param>
            <param name="parameterNames">the names of the parameters to search for.</param>
            <param name="bindingType">the type of the previous segment</param>
            <param name="model">the model to use to look up the function import</param>
            <param name="matchingFunctionImport">The single matching function found.</param>
            <returns>True if a function was matched, false otherwise. Will throw if the model has illegal function imports.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SelectExpandSemanticBinder">
            <summary>
            Add semantic meaning to a Select or Expand token.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandSemanticBinder.Parse(Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet,Microsoft.Data.OData.Query.SyntacticAst.ExpandToken,Microsoft.Data.OData.Query.SyntacticAst.SelectToken,Microsoft.Data.OData.Query.ODataUriParserConfiguration)">
            <summary>
            Add semantic meaning to a Select or Expand Token
            </summary>
            <param name="elementType">the top level entity type.</param>
            <param name="entitySet">the top level entity set</param>
            <param name="expandToken">the syntactically parsed expand token</param>
            <param name="selectToken">the syntactically parsed select token</param>
            <param name="configuration">The configuration to use for parsing.</param>
            <returns>A select expand clause bound to metadata.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode">
            <summary>
            Node to represent a function call that returns a Collection
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.CollectionNode">
            <summary>
            Base class for all semantic metadata bound nodes which represent a composable collection of values.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNode.ItemType">
            <summary>
            The resouce type of a single item from the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNode.CollectionType">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNode.Kind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.name">
            <summary>
            the name of this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.functionImports">
            <summary>
            the list of function imports
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.parameters">
            <summary>
            the list of parameters provided to this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.itemType">
            <summary>
            the individual item type returned by this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.returnedCollectionType">
            <summary>
            the collection type returned by this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.source">
            <summary>
            The semantically bound parent of this function.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.#ctor(System.String,System.Collections.Generic.IEnumerable{Microsoft.Data.Edm.IEdmFunctionImport},System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.QueryNode},Microsoft.Data.Edm.IEdmCollectionTypeReference,Microsoft.Data.OData.Query.SemanticAst.QueryNode)">
            <summary>
            Creates a CollectionFunctionCallNode to represent a function call that returns a collection
            </summary>
            <param name="name">The name of this function.</param>
            <param name="functionImports">the list of function imports that this node should represent.</param>
            <param name="parameters">the list of already bound parameters to this function</param>
            <param name="returnedCollectionType">the type of the collection returned by this function.</param>
            <param name="source">The parent of this CollectionFunctionCallNode.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the provided name is null.</exception>
            <exception cref="T:System.ArgumentNullException">Throws if the provided collection type reference is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the element type of the provided collection type reference is not a primitive or complex type.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.Name">
            <summary>
            Gets the name of this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.FunctionImports">
            <summary>
            Gets the list of function imports represeted by this node
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.Parameters">
            <summary>
            Gets the list of parameters to this function
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.ItemType">
            <summary>
            Gets the individual item type returned by this function
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.CollectionType">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.Source">
            <summary>
            Gets the semantically bound parent node of this CollectionFunctionCallNode.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator">
            <summary>
            Translator that determines the entity set of a segment.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1">
            <summary>
            Translator interface for walking the Syntactic Tree.
            </summary>
            <typeparam name="T">Generic type produced by the translator.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.TypeSegment)">
            <summary>
            Translate a TypeSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment)">
            <summary>
            Translate a NavigationPropertySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment)">
            <summary>
            Translate an EntitySetSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.KeySegment)">
            <summary>
            Translate a KeySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.PropertySegment)">
            <summary>
            Translate a PropertySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.OperationSegment)">
            <summary>
            Translate a OperationSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment)">
            <summary>
            Translate an OpenPropertySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.CountSegment)">
            <summary>
            Translate a CountSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment)">
            <summary>
            Visit a NavigationPropertyLinkSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.ValueSegment)">
            <summary>
            Translate a ValueSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.BatchSegment)">
            <summary>
            Translate a BatchSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment)">
            <summary>
            Translate a BatchReferenceSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1.Translate(Microsoft.Data.OData.Query.SemanticAst.MetadataSegment)">
            <summary>
            Translate a MetadataSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>Defined by the implementer.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment)">
            <summary>
            Determine the EntitySet of a NavigationPropertyLinkSegment
            </summary>
            <param name="segment">The NavigationPropertyLinkSegment to look in.</param>
            <returns>The IEdmEntitySet of this NavigationPropertyLinkSegment</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.TypeSegment)">
            <summary>
            Determine the EntitySet of a TypeSegment
            </summary>
            <param name="segment">The TypeSegment to look in.</param>
            <returns>The IEdmEntitySet of this TypeSegment</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment)">
            <summary>
            Determine the EntitySet of a NavigationPropertySegment
            </summary>
            <param name="segment">The NavigationPropertySegment to look in.</param>
            <returns>The IEdmEntitySet of this NavigationPropertySegment</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment)">
            <summary>
            Determine the EntitySet of an EntitySetSegment
            </summary>
            <param name="segment">The EntitySetSegment to look in.</param>
            <returns>The IEdmEntitySet of this EntitySetSegment</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.KeySegment)">
            <summary>
            Determine the EntitySet of a KeySegment
            </summary>
            <param name="segment">The KeySegment to look in.</param>
            <returns>The IEdmEntitySet of this KeySegment</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.PropertySegment)">
            <summary>
            Determine the EntitySet of a PropertySegment
            </summary>
            <param name="segment">The PropertySegment to look in.</param>
            <returns>null, since a property doesn't necessarily have an entity set</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.OperationSegment)">
            <summary>
            Determine the EntitySet of an OperationSegment
            </summary>
            <param name="segment">The OperationSegment to look in.</param>
            <returns>The IEdmEntitySet of this OperationSegment</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.CountSegment)">
            <summary>
            Determine the EntitySet of a CountSegment
            </summary>
            <param name="segment">The CountSegment to look in.</param>
            <returns>null, since $count doesn't have an entitySet</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment)">
            <summary>
            Determine the EntitySet of a OpenPropertySegment
            </summary>
            <param name="segment">The OpenPropertySegment to look in.</param>
            <returns>null, since an OpenProperty doesn't have an entity set</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.ValueSegment)">
            <summary>
            Determine the EntitySet of a ValueSegment
            </summary>
            <param name="segment">The ValueSegment to look in.</param>
            <returns>null, since $value doesn't have an entity set</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.BatchSegment)">
            <summary>
            Determine the EntitySet of a BatchSegment
            </summary>
            <param name="segment">The BatchSegment to look in.</param>
            <returns>null, since $batch doesn't have an entity set</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment)">
            <summary>
            Determine the EntitySet of a BatchReferenceSegment
            </summary>
            <param name="segment">The BatchReferenceSegment to look in.</param>
            <returns>The IEdmEntitySet of this BatchReferenceSegment</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.DetermineEntitySetTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.MetadataSegment)">
            <summary>
            Determine the EntitySet of a MetadataSegment
            </summary>
            <param name="segment">The MetadataSegment to look in.</param>
            <returns>null, since $batch doesn't have an entity set</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder">
            <summary>
            Build a semantic tree for Expand based on an Expand syntactic tree.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.configuration">
            <summary>
            The configuration used for binding.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.entitySet">
            <summary>
            The entity set at the current level expand.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.entityType">
            <summary>
            The entity type at the current level expand.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.#ctor(Microsoft.Data.OData.Query.ODataUriParserConfiguration,Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Constructs a new ExpandBinder.
            </summary>
            <param name="configuration">The configuration used for binding.</param>
            <param name="entityType">The entity type of the top level expand item.</param>
            <param name="entitySet">The entity set of the top level expand item.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.Bind(Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Visit an ExpandToken
            </summary>
            <param name="tokenIn">the token to visit</param>
            <returns>a SelectExpand clause based on this ExpandToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.GenerateSubExpand(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Generate a SubExpand based on the current nav property and the curren token
            </summary>
            <param name="currentNavProp">the current navigation property</param>
            <param name="tokenIn">the current token</param>
            <returns>a new SelectExpand clause bound to the current token and nav prop</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.DecorateExpandWithSelect(Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause,Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SyntacticAst.SelectToken)">
            <summary>
            Decorate an expand tree using a select token.
            </summary>
            <param name="subExpand">the already built sub expand</param>
            <param name="currentNavProp">the current navigation property</param>
            <param name="select">the select token to use</param>
            <returns>A new SelectExpand clause decorated with the select token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.BuildDefaultSubExpand">
            <summary>
            Build a expand clause for a nested expand.
            </summary>
            <returns>A new SelectExpandClause.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.GenerateExpandItem(Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Generate an expand item based on an ExpandTermToken
            </summary>
            <param name="tokenIn">the expandTerm token to visit</param>
            <returns>the expand item for this expand term token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.BuildNewMetadataBinder(Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a new MetadataBinder to use for expand options.
            </summary>
            <param name="targetEntitySet">The entity set being expanded.</param>
            <returns>A new MetadataBinder ready to bind a Filter or Orderby clause.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.Model">
            <summary>
            The model used for binding.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.EntityType">
            <summary>
            The top level entity type.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.EntitySet">
            <summary>
            The top level entity set for this level.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.Settings">
            <summary>
            The settings to use when binding.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinder.Configuration">
            <summary>
            The configuration used for binding.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinderFactory">
            <summary>
            Build an ExpandBinder based on global settings
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandBinderFactory.Create(Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet,Microsoft.Data.OData.Query.ODataUriParserConfiguration)">
            <summary>
            Build an ExpandBinder based on global settings
            </summary>
            <param name="elementType">The entity type of the top level expand item.</param>
            <param name="entitySet">The entity set of the top level expand item.</param>
            <param name="configuration">The configuration to use for binding.</param>
            <returns>An ExpandBinder strategy based on the global settings</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.ExpandOptionExpandBinder">
            <summary>
            ExpandOption variant of an ExpandBinder, where the default selection item for a given level is based on the select at that level
            instead of the top level select clause. If nothing is selected for a given expand in the ExpandOption syntax, then we by default
            select all from that item, instead of selecting nothing (and therefore pruning the expand off of the tree).
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandOptionExpandBinder.#ctor(Microsoft.Data.OData.Query.ODataUriParserConfiguration,Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build the ExpandOption variant of an ExpandBinder
            </summary>
            <param name="configuration">The configuration used for binding.</param>
            <param name="entityType">The entity type of the top level expand item.</param>
            <param name="entitySet">The entity set of the top level expand item.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandOptionExpandBinder.GenerateSubExpand(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Generate a SubExpand based on the current nav property and the curren token
            </summary>
            <param name="currentNavProp">the current navigation property</param>
            <param name="tokenIn">the current token</param>
            <returns>a new SelectExpand clause bound to the current token and nav prop</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandOptionExpandBinder.DecorateExpandWithSelect(Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause,Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SyntacticAst.SelectToken)">
            <summary>
            Decorate an expand tree using a select token.
            </summary>
            <param name="subExpand">the already built sub expand</param>
            <param name="currentNavProp">the current navigation property</param>
            <param name="select">the select token to use</param>
            <returns>A new SelectExpand clause decorated with the select token.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ExpandOptionSelectExpandTermParser">
            <summary>
            Object that knows how to parse a single term within a select expression. That is, a path to a property,
            a wildcard, operation name, etc.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SelectExpandTermParser">
            <summary>
            Object that knows how to parse a single term within a select expression. That is, a path to a property,
            a wildcard, operation name, etc.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ISelectExpandTermParser">
            <summary>
            Interface for the SelectExpandTermParsing strategy
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ISelectExpandTermParser.ParseSelect">
            <summary>
            Parses a full $select expression.
            </summary>
            <returns>The lexical token representing the select.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ISelectExpandTermParser.ParseExpand">
            <summary>
            Parses a full $expand expression.
            </summary>
            <returns>The lexical token representing the select.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ISelectExpandTermParser.ParseSingleSelectTerm(System.Boolean)">
            <summary>
            Parses a single term in a comma seperated list of things to select.
            </summary>
            <param name="isInnerTerm">is this an inner or outer select term</param>
            <returns>A token representing thing to select.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ISelectExpandTermParser.ParseSingleExpandTerm(System.Boolean)">
            <summary>
            Parses a single term in a comma seperated list of things to expand.
            </summary>
            <param name="isInnerTerm">is this an inner or outer term.</param>
            <returns>A token representing thing to expand.</returns>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SelectExpandTermParser.Lexer">
            <summary>
            Lexer used to parse an expression.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SelectExpandTermParser.isSelect">
            <summary>
            are we parsing select.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SelectExpandTermParser.maxDepth">
            <summary>
            the maximum allowable recursive depth.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SelectExpandTermParser.recursionDepth">
            <summary>
            The current recursion depth.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.#ctor(System.String,System.Int32)">
            <summary>
            Create a SelectExpandTermParser
            </summary>
            <param name="clauseToParse">the clause to parse</param>
            <param name="maxDepth">the maximum recursive depth</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.ParseSelect">
            <summary>
            Parses a full $select expression.
            </summary>
            <returns>The lexical token representing the select.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.ParseExpand">
            <summary>
            Parses a full $expand expression.
            </summary>
            <returns>The lexical token representing the select.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.ParseSingleSelectTerm(System.Boolean)">
            <summary>
            Parses a single term in a comma seperated list of things to select.
            </summary>
            <param name="isInnerTerm">is this an inner or outer select term</param>
            <returns>A token representing thing to select.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.ParseSingleExpandTerm(System.Boolean)">
            <summary>
            Parses a single term in a comma seperated list of things to expand.
            </summary>
            <param name="isInnerTerm">is this an inner or outer term.</param>
            <returns>A token representing thing to expand.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.BuildExpandTermToken(System.Boolean,Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Build the list of expand options
            Depends on whether options are allowed or not.
            </summary>
            <param name="isInnerTerm">is this an inner expand term</param>
            <param name="pathToken">the current level token, as a PathToken</param>
            <returns>An expand term token based on the path token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.IsNotEndOfTerm(System.Boolean)">
            <summary>
            determine whether we're at the end of a select or expand term
            </summary>
            <param name="isInnerTerm">flag to indicate whether this is an outer or inner select.</param>
            <returns>true if we are not at the end of a select term.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.ParseSelectExpandProperty">
            <summary>
            Parses a select or expand term into a query token
            </summary>
            <returns>parsed query token</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.ParseNext(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Uses the ExpressionLexer to visit the next ExpressionToken, and delegates parsing of segments, type segments, identifiers,
            and the star token to other methods.
            </summary>
            <param name="previousToken">Previously parsed QueryToken, or null if this is the first token.</param>
            <returns>A parsed QueryToken representing the next part of the expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.ParseSegment(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Parses a segment; a expression that is followed by a slash.
            </summary>
            <param name="parent">The parent of the segment node.</param>
            <returns>The lexical token representing the segment.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.RecurseEnter">
            <summary>
            Marks the fact that a recursive method was entered, and checks that the depth is allowed.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParser.RecurseLeave">
            <summary>
            Marks the fact that a recursive method is leaving.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SelectExpandTermParser.MaxDepth">
            <summary>
            The maximum recursive depth.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpandOptionSelectExpandTermParser.#ctor(System.String,System.Int32)">
            <summary>
            Build the ExpandOption strategy.
            </summary>
            <param name="clauseToParse">the clause to parse</param>
            <param name="maxDepth">max recursive depth</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpandOptionSelectExpandTermParser.BuildExpandTermToken(System.Boolean,Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Build the list of expand options
            Depends on whether options are allowed or not.
            </summary>
            <param name="isInnerTerm">is this an inner expand term</param>
            <param name="pathToken">the current level token, as a PathToken</param>
            <returns>An expand term token based on the path token, and all available expand options.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpandOptionSelectExpandTermParser.IsNotEndOfTerm(System.Boolean)">
            <summary>
            determine whether we're at the end of a select or expand term
            </summary>
            <param name="isInnerTerm">flag to indicate whether this is an outer or inner select.</param>
            <returns>true if we are not at the end of a select term.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpandOptionSelectExpandTermParser.ReadQueryOption">
            <summary>
            Read a query option from the lexer.
            </summary>
            <returns>the query option as a string.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer">
            <summary>
            Translator from the old expand syntax tree to the new Expand Option syntax tree
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.NormalizeExpandTree(Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Normalize an expand syntax tree into the new ExpandOption syntax.
            </summary>
            <param name="treeToNormalize">the tree to normalize</param>
            <returns>a new tree, in the new ExpandOption syntax</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.InvertPaths(Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Invert the all of the paths in an expandToken, such that they are now in the same order as they are present in the
            base url
            </summary>
            <param name="treeToInvert">the tree to invert paths on</param>
            <returns>a new tree with all of its paths inverted</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.CombineTerms(Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Collapse all redundant terms in an expand tree
            </summary>
            <param name="treeToCollapse">the tree to collapse</param>
            <returns>A new tree with all redundant terms collapsed.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.BuildSubExpandTree(Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Expand all the PathTokens in a particular term into their own separate terms.
            </summary>
            <param name="termToExpand">the term to expand</param>
            <returns>a new ExpandTermToken with each PathToken at its own level.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.CombineTerms(Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken,Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            add a new expandTermToken into an exisiting token, adding any additional levels and trees along the way.
            </summary>
            <param name="existingToken">the exisiting (already expanded) token</param>
            <param name="newToken">the new (already expanded) token</param>
            <returns>the combined token, or, if the two are mutually exclusive, the same tokens</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.CombineChildNodes(Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken,Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Combine the child nodes of twoExpandTermTokens into one list of tokens
            </summary>
            <param name="existingToken">the existing token to to</param>
            <param name="newToken">the new token containing terms to add</param>
            <returns>a combined list of the all child nodes of the two tokens.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.AddChildOptionsToDictionary(Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken,System.Collections.Generic.Dictionary{Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken})">
            <summary>
            Add child options to a new dictionary
            </summary>
            <param name="newToken">the token with child nodes to add to the dictionary</param>
            <param name="combinedTerms">dictionary to add child nodes to</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTreeNormalizer.AddOrCombine(System.Collections.Generic.IDictionary{Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken},Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Adds the expand token to the dictionary or combines it with an existing or combines it with another existing token with an equivalent path.
            </summary>
            <param name="combinedTerms">The combined terms dictionary.</param>
            <param name="expandedTerm">The expanded term to add or combine.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ExpressionLexerLiteralExtensions">
            <summary>
            A set of extensions to <see cref="T:Microsoft.Data.OData.Query.ExpressionLexer"/> for parsing literals.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerLiteralExtensions.IsLiteralType(Microsoft.Data.OData.Query.ExpressionTokenKind)">
            <summary>
            Returns whether the <paramref name="tokenKind"/> is a primitive literal type:
            Binary, Boolean, DateTime, Decimal, Double, Guid, In64, Integer, Null, Single, or String.
            Internal for test use only
            </summary>
            <param name="tokenKind">InternalKind of token.</param>
            <returns>Whether the <paramref name="tokenKind"/> is a literal type.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerLiteralExtensions.ReadLiteralToken(Microsoft.Data.OData.Query.ExpressionLexer)">
            <summary>Reads the next token, checks that it is a literal token type, converts to to a Common Language Runtime value as appropriate, and returns the value.</summary>
            <param name="expressionLexer">The expression lexer.</param>
            <returns>The value represented by the next token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerLiteralExtensions.ParseNullLiteral(Microsoft.Data.OData.Query.ExpressionLexer)">
            <summary>
            Parses null literals.
            </summary>
            <param name="expressionLexer">The expression lexer.</param>
            <returns>The literal token produced by building the given literal.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerLiteralExtensions.ParseTypedLiteral(Microsoft.Data.OData.Query.ExpressionLexer,Microsoft.Data.Edm.IEdmPrimitiveTypeReference)">
            <summary>
            Parses typed literals.
            </summary>
            <param name="expressionLexer">The expression lexer.</param>
            <param name="targetTypeReference">Expected type to be parsed.</param>
            <returns>The literal token produced by building the given literal.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerLiteralExtensions.TryParseLiteral(Microsoft.Data.OData.Query.ExpressionLexer)">
            <summary>
            Parses a literal.
            Precondition: lexer is at a literal token type: Boolean, DateTime, Decimal, Null, String, Int64, Integer, Double, Single, Guid, Binary.
            </summary>
            <param name="expressionLexer">The expression lexer.</param>
            <returns>The literal query token or null if something else was found.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ExpressionLexerUtils">
            <summary>
            Utilities needed by <see cref="T:Microsoft.Data.OData.Query.ExpressionLexer"/> which are relatively simple and standalone.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ExpressionLexerUtils.SingleSuffixLower">
            <summary>Suffix for single literals.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ExpressionLexerUtils.SingleSuffixUpper">
            <summary>Suffix for single literals.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerUtils.IsNumeric(Microsoft.Data.OData.Query.ExpressionTokenKind)">
            <summary>Whether the specified token identifier is a numeric literal.</summary>
            <param name="id">Token to check.</param>
            <returns>true if it's a numeric literal; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerUtils.IsInfinityOrNaNDouble(System.String)">
            <summary>
            Checks if the <paramref name="tokenText"/> is INF or NaN.
            Internal for testing only.
            </summary>
            <param name="tokenText">Input token.</param>
            <returns>true if match found, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerUtils.IsInfinityLiteralDouble(System.String)">
            <summary>
            Checks whether <paramref name="text"/> equals to 'INF'
            Internal for testing only
            </summary>
            <param name="text">Text to look in.</param>
            <returns>true if the substring is equal using an ordinal comparison; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerUtils.IsInfinityOrNanSingle(System.String)">
            <summary>
            Checks if the <paramref name="tokenText"/> is INFf/INFF or NaNf/NaNF.
            Internal for testing only.
            </summary>
            <param name="tokenText">Input token.</param>
            <returns>true if match found, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ExpressionLexerUtils.IsInfinityLiteralSingle(System.String)">
            <summary>
            Checks whether <paramref name="text"/> EQUALS to 'INFf' or 'INFF'.
            Internal for testing only.
            </summary>
            <param name="text">Text to look in.</param>
            <returns>true if the substring is equal using an ordinal comparison; false otherwise.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.FilterBinder">
            <summary>
            Class responsible for binding a syntactic filter expression into a bound tree of semantic nodes.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.FilterBinder.bindMethod">
            <summary>
            Method to use to visit the token tree and bind the tokens recursively.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.FilterBinder.state">
            <summary>
            State to use for binding.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FilterBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Creates a FilterBinder.
            </summary>
            <param name="bindMethod">Method to use to visit the token tree and bind the tokens recursively.</param>
            <param name="state">State to use for binding.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FilterBinder.BindFilter(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Binds the given filter token.
            </summary>
            <param name="filter">The filter token to bind.</param>
            <returns>A FilterNode with the given path linked to it (if provided).</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.FunctionCallBinder">
            <summary>
            Class that knows how to bind function call tokens.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.FunctionCallBinder.bindMethod">
            <summary>
            Method to use for binding the parent node, if needed.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.FunctionCallBinder.UnboundFunctionNames">
            <summary>
            The names of functions that we don't bind to BuiltInFunctions
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Constructs a FunctionCallBinder with the given method to be used binding the parent token if needed.
            </summary>
            <param name="bindMethod">Method to use for binding the parent token, if needed.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.TypePromoteArguments(Microsoft.Data.OData.Query.FunctionSignature,System.Collections.Generic.List{Microsoft.Data.OData.Query.SemanticAst.QueryNode})">
            <summary>
            Promotes types of arguments to match signature if possible.
            </summary>
            <param name="signature">The signature to match the types to.</param>
            <param name="argumentNodes">The types to promote.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.EnsureArgumentsAreSingleValue(System.String,System.Collections.Generic.List{Microsoft.Data.OData.Query.SemanticAst.QueryNode})">
            <summary>
            Checks that all arguments are SingleValueNodes
            </summary>
            <param name="functionName">The name of the function the arguments are from.</param>
            <param name="argumentNodes">The arguments to validate.</param>
            <returns>Returns the types of the arguments provided.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.MatchSignatureToBuiltInFunction(System.String,Microsoft.Data.Edm.IEdmTypeReference[],Microsoft.Data.OData.Query.FunctionSignatureWithReturnType[])">
            <summary>
            Finds the signature that best matches the arguments
            </summary>
            <param name="functionName">The name of the function</param>
            <param name="argumentTypes">The types of the arguments</param>
            <param name="signatures">The signatures to match against</param>
            <returns>Returns the matching signature or throws</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.GetBuiltInFunctionSignatures(System.String)">
            <summary>
            Finds all signatures for the given function name.
            </summary>
            <param name="functionName">The function to get the signatures for.</param>
            <returns>The signatures which match the supplied function name.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.BindFunctionCall(Microsoft.Data.OData.Query.SyntacticAst.FunctionCallToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Binds the token to a SingleValueFunctionCallNode
            </summary>
            <param name="functionCallToken">Token to bind</param>
            <param name="state">The current state of the binding algorithm</param>
            <returns>The resulting SingleValueFunctionCallNode</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.TryBindEndPathAsFunctionCall(Microsoft.Data.OData.Query.SyntacticAst.EndPathToken,Microsoft.Data.OData.Query.SemanticAst.QueryNode,Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.SemanticAst.QueryNode@)">
            <summary>
            Try to bind an end path token as a function call. Used for bound functions without parameters
            that parse as end path tokens syntactically
            </summary>
            <param name="endPathToken">the end path token to bind</param>
            <param name="parent">the parent node to this end path token.</param>
            <param name="state">the current state of the binding algorithm</param>
            <param name="boundFunction">a single value function call node representing the function call, if it exists</param>
            <returns>true if we found a function for this token, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.TryBindInnerPathAsFunctionCall(Microsoft.Data.OData.Query.SyntacticAst.InnerPathToken,Microsoft.Data.OData.Query.SemanticAst.QueryNode,Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.SemanticAst.QueryNode@)">
            <summary>
            Try to bind an inner path token as a function call. Used for bound functions without parameters
            that parse as inner path tokens syntactically
            </summary>
            <param name="innerPathToken">the end path token to bind</param>
            <param name="parent">the parent node to this end path token.</param>
            <param name="state">the current state of the binding algorithm</param>
            <param name="boundFunction">a single value function call node representing the function call, if it exists</param>
            <returns>true if we found a function for this token, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.TryBindDottedIdentifierAsFunctionCall(Microsoft.Data.OData.Query.SyntacticAst.DottedIdentifierToken,Microsoft.Data.OData.Query.SemanticAst.SingleValueNode,Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.SemanticAst.QueryNode@)">
            <summary>
            Try to bind a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.DottedIdentifierToken"/> as a function call. Used for container qualified functions without parameters.
            </summary>
            <param name="dottedIdentifierToken">the dotted identifier token to bind</param>
            <param name="parent">the semantically bound parent node for this dotted identifier</param>
            <param name="state">the current stat of the binding algorithm</param>
            <param name="boundFunction">a single value function call node representing the function call, if we found one.</param>
            <returns>true if we found a function for this token, false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.BindAsBuiltInFunction(Microsoft.Data.OData.Query.SyntacticAst.FunctionCallToken,Microsoft.Data.OData.Query.BindingState,System.Collections.Generic.List{Microsoft.Data.OData.Query.SemanticAst.QueryNode})">
            <summary>
            Bind this function call token as a built in function
            </summary>
            <param name="functionCallToken">the function call token to bidn</param>
            <param name="state">the current state of the binding algorithm</param>
            <param name="argumentNodes">list of semantically bound arguments</param>
            <returns>A function call node bound to this function.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.TryBindIdentifier(System.String,System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken},Microsoft.Data.OData.Query.SemanticAst.QueryNode,Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.SemanticAst.QueryNode@)">
            <summary>
            Try to bind an identifier to a FunctionCallNode
            </summary>
            <param name="identifier">the identifier to bind</param>
            <param name="arguments">the semantically bound list of arguments.</param>
            <param name="parent">a semantically bound parent node.</param>
            <param name="state">the current state of the binding algorithm</param>
            <param name="boundFunction">a single value function call node representing this funciton call, if we found one.</param>
            <returns>true if we found a function for this token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.IsUnboundFunction(System.String)">
            <summary>
            Determines whether this is a function that we don't bind to a BuiltInFunction
            </summary>
            <param name="functionName">name of the function</param>
            <returns>true if this is a function that we don't bind</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.CreateUnboundFunctionNode(Microsoft.Data.OData.Query.SyntacticAst.FunctionCallToken,System.Collections.Generic.List{Microsoft.Data.OData.Query.SemanticAst.QueryNode},Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Build a SingleValueFunctionCallNode for a function that isn't bound to a BuiltInFunction
            </summary>
            <param name="functionCallToken">original query token for this function</param>
            <param name="args">list of already bound query nodes for this function</param>
            <param name="state">The current state of the binding algorithm.</param>
            <returns>A single value function call node bound to this function.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.ValidateAndBuildCastArgs(Microsoft.Data.OData.Query.BindingState,System.Collections.Generic.List{Microsoft.Data.OData.Query.SemanticAst.QueryNode}@)">
            <summary>
            Validate the args list (adding the implicit range variable if necessary), and determine the correct return type for a cast function
            </summary>
            <param name="state">current binding state, used to get the implicit range variable if necessary</param>
            <param name="args">list of arguments, could be changed</param>
            <returns>the return type from this cast function</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.ValidateAndBuildIsOfArgs(Microsoft.Data.OData.Query.BindingState,System.Collections.Generic.List{Microsoft.Data.OData.Query.SemanticAst.QueryNode}@)">
            <summary>
            Validate the arguments (adding the implicit range variable if necessary), and determine the correct return type
            for an IsOf function
            </summary>
            <param name="state">the current state of the binding algorithm, used to get the implicit range variable if necessary</param>
            <param name="args">current list of args, can be changed</param>
            <returns>the correct return type for this function.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.ValidateIsOfOrCast(Microsoft.Data.OData.Query.BindingState,System.Boolean,System.Collections.Generic.List{Microsoft.Data.OData.Query.SemanticAst.QueryNode}@)">
            <summary>
            Validate the arguments to either isof or cast
            </summary>
            <param name="state">the current state of the binding algorithm</param>
            <param name="isCast">flag to indicate which function we're validating</param>
            <param name="args">the list of arguments, which could be changed</param>
            <returns>the return type of the function.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallBinder.TryGetTypeReference(Microsoft.Data.Edm.IEdmModel,System.String)">
            <summary>
            Try to get an IEdmTypeReference for a given type as a string, returns null if none exists
            </summary>
            <param name="model">the model for validation</param>
            <param name="fullTypeName">the type name to find</param>
            <returns>an IEdmTypeReference for this type string.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.FunctionCallParser">
            <summary>
            Implementation of IFunctionCallParser that allows functions calls and parses arguments with a provided method.
            TODO : This implementation is incomplete.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.IFunctionCallParser">
            <summary>
            Interface for a class that can parse an identifier as a function and return a representitive QueryToken.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.IFunctionCallParser.ParseIdentifierAsFunction(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Parses an identifier that represents a function.
            </summary>
            <param name="parent">the syntactically bound parent of this identifier.</param>
            <returns>QueryToken representing this function.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.IFunctionCallParser.Lexer">
            <summary>
            Reference to the lexer.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.FunctionCallParser.lexer">
            <summary>
            Reference to the lexer.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.FunctionCallParser.parseMethod">
            <summary>
            Method used to parse arguments.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallParser.#ctor(Microsoft.Data.OData.Query.ExpressionLexer,Microsoft.Data.OData.Query.UriQueryExpressionParser.Parser)">
            <summary>
            Create a new FunctionCallParser.
            </summary>
            <param name="lexer">Lexer positioned at a function identifier.</param>
            <param name="parseMethod">Method to use for parsing individual arguments in the function.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallParser.ParseIdentifierAsFunction(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Parses an identifier that represents a function.
            </summary>
            <param name="parent">Token for the parent of the function being parsed.</param>
            <returns>QueryToken representing this function.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallParser.ParseArgumentList">
            <summary>
            Parses argument lists.
            </summary>
            <returns>The lexical tokens representing the arguments.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallParser.ParseArguments">
            <summary>
            Parses comma-separated arguments.
            </summary>
            <remarks>
            Arguments can either be of the form a=1,b=2,c=3 or 1,2,3.
            They cannot be mixed between those two styles.
            </remarks>
            <returns>The lexical tokens representing the arguments.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallParser.ReadArgumentsAsPositionalValues">
            <summary>
            Read the list of arguments as a set of positional values
            </summary>
            <returns>A list of FunctionParameterTokens representing each argument</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.FunctionCallParser.TryReadArgumentsAsNamedValues(System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken}@)">
            <summary>
            Try to read the list of arguments as a set of named values
            </summary>
            <param name="argList">the parsed list of arguments</param>
            <returns>true if the arguments were successfully read.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.FunctionCallParser.Lexer">
            <summary>
            Reference to the lexer.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.IdentifierTokenizer">
            <summary>
            Class that knows how to parse an identifier using an ExpressionLexer that is appropriately positioned.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.IdentifierTokenizer.lexer">
            <summary>
            Reference to the lexer.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.IdentifierTokenizer.parameters">
            <summary>
            parameters from the expression parser
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.IdentifierTokenizer.functionCallParser">
            <summary>
            Object to handle the parsing of things that look like function calls.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.IdentifierTokenizer.#ctor(System.Collections.Generic.HashSet{System.String},Microsoft.Data.OData.Query.IFunctionCallParser)">
            <summary>
            Parse an Identifier into the right QueryToken
            </summary>
            <param name="parameters">parameters passed in to the UriQueryExpressionParser</param>
            <param name="functionCallParser">Object to use to handle parsing function calls.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.IdentifierTokenizer.ParseIdentifier(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Parses identifiers.
            </summary>
            <param name="parent">the syntactically bound parent of this identifier.</param>
            <returns>The lexical token representing the expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.IdentifierTokenizer.ParseMemberAccess(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Parses member access.
            </summary>
            <param name="instance">Instance being accessed.</param>
            <returns>The lexical token representing the expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.IdentifierTokenizer.ParseStarMemberAccess(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Parses * (all member) access at the beginning of a select expression.
            </summary>
            <param name="instance">Instance being accessed.</param>
            <returns>The lexical token representing the expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.IdentifierTokenizer.ParseError(System.String)">
            <summary>Creates an exception for a parse error.</summary>
            <param name="message">Message text.</param>
            <returns>A new Exception.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor`1">
            <summary>
            Visitor interface for walking the Path Tree.
            </summary>
            <typeparam name="T">Return type for the visitor methods on this visitor.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.SystemToken)">
            <summary>
            Visit an SystemToken
            </summary>
            <param name="tokenIn">The SystemToken to visit</param>
            <returns>A user defined class</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken)">
            <summary>
            Visit an NonSystemToken
            </summary>
            <param name="tokenIn">The NonSystemToken to visit</param>
            <returns>A user defined class</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor">
            <summary>
            Visitor interface for walking the Path Tree.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor.Visit(Microsoft.Data.OData.Query.SyntacticAst.SystemToken)">
            <summary>
            Visit an SystemToken
            </summary>
            <param name="tokenIn">The SystemToken to visit</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor.Visit(Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken)">
            <summary>
            Visit an NonSystemToken
            </summary>
            <param name="tokenIn">The NonSystemToken to visit</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1">
            <summary>
            Visitor interface for walking the Syntactic Tree.
            </summary>
            <typeparam name="T">Return type for the visitor methods on this visitor.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.AllToken)">
            <summary>
            Visit an AllToken
            </summary>
            <param name="tokenIn">The All token to visit</param>
            <returns>An AllNode bound to this token</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.AnyToken)">
            <summary>
            Visits an AnyToken
            </summary>
            <param name="tokenIn">The Any token to visit</param>
            <returns>An AnyNode that's bound to this token</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.BinaryOperatorToken)">
            <summary>
            Visits a BinaryOperatorToken
            </summary>
            <param name="tokenIn">The Binary operator token to visit.</param>
            <returns>A BinaryOperatorNode thats bound to this token</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.DottedIdentifierToken)">
            <summary>
            Visits a DottedIdentifierToken
            </summary>
            <param name="tokenIn">The DottedIdentifierToken to visit</param>
            <returns>Either a SingleEntityCastNode, or EntityCollectionCastNode bound to this DottedIdentifierToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Visits an ExpandToken
            </summary>
            <param name="tokenIn">The ExpandToken to visit</param>
            <returns>A QueryNode bound to this ExpandToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Visits an ExpandTermToken
            </summary>
            <param name="tokenIn">The ExpandTermToken to visit</param>
            <returns>A QueryNode bound to this ExpandTermToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.FunctionCallToken)">
            <summary>
            Visits a FunctionCallToken
            </summary>
            <param name="tokenIn">The FunctionCallToken to visit</param>
            <returns>A SingleValueFunctionCallNode bound to this FunctionCallToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.LambdaToken)">
            <summary>
            Visits a LambdaToken
            </summary>
            <param name="tokenIn">The LambdaToken to visit</param>
            <returns>A LambdaNode bound to this LambdaToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.LiteralToken)">
            <summary>
            Visits a LiteralToken
            </summary>
            <param name="tokenIn">LiteralToken to visit</param>
            <returns>A ConstantNode bound to this LiteralToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.InnerPathToken)">
            <summary>
            Visits a InnerPathToken
            </summary>
            <param name="tokenIn">The InnerPathToken to bind</param>
            <returns>A SingleValueNode or SingleEntityNode bound to this InnerPathToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.OrderByToken)">
            <summary>
            Visits an OrderByToken
            </summary>
            <param name="tokenIn">The OrderByToken to bind</param>
            <returns>An OrderByClause bound to this OrderByToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.EndPathToken)">
            <summary>
            Visits a EndPathToken
            </summary>
            <param name="tokenIn">The EndPathToken to bind</param>
            <returns>A PropertyAccessNode bound to this EndPathToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.CustomQueryOptionToken)">
            <summary>
            Visits a CustomQueryOptionToken
            </summary>
            <param name="tokenIn">The CustomQueryOptionToken to bind</param>
            <returns>A CustomQueryOptionNode bound to this CustomQueryOptionToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.RangeVariableToken)">
            <summary>
            Visits a RangeVariableToken
            </summary>
            <param name="tokenIn">The RangeVariableToken to bind</param>
            <returns>An Entity or NonEntity RangeVariableReferenceNode bound to this RangeVariableToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.SelectToken)">
            <summary>
            Visits a SelectToken
            </summary>
            <param name="tokenIn">The SelectToken to bind</param>
            <returns>A QueryNode bound to this SelectToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.StarToken)">
            <summary>
            Visits a StarToken
            </summary>
            <param name="tokenIn">The StarToken to bind</param>
            <returns>A QueryNode bound to this StarToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.UnaryOperatorToken)">
            <summary>
            Visits a UnaryOperatorToken
            </summary>
            <param name="tokenIn">The UnaryOperatorToken to bind</param>
            <returns>A UnaryOperatorNode bound to this UnaryOperatorToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken)">
            <summary>
            Visits a FunctionParameterToken
            </summary>
            <param name="tokenIn">The FunctionParameterTokenb to bind</param>
            <returns>A FunctionParametertoken bound to this UnaryOperatorToken</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.KeyBinder">
            <summary>
            Class that knows how to bind key values.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.KeyBinder.keyValueBindMethod">
            <summary>
            Method to bind the value of a key.
            TODO : Make it of return type SingleValueQueryNode.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.KeyBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Constructs a KeyBinder object using the given function to bind key values.
            </summary>
            <param name="keyValueBindMethod">Method to call to bind a value in a key.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.KeyBinder.BindKeyValues(Microsoft.Data.OData.Query.SemanticAst.EntityCollectionNode,System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.NamedValue})">
            <summary>
            Binds key values to a key lookup on a collection.
            </summary>
            <param name="collectionNode">Already bound collection node.</param>
            <param name="namedValues">The named value tokens to bind.</param>
            <returns>The bound key lookup.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.KeyBinder.BindKeyPropertyValue(Microsoft.Data.OData.Query.NamedValue,Microsoft.Data.Edm.IEdmEntityType)">
            <summary>
            Binds a key property value.
            </summary>
            <param name="namedValue">The named value to bind.</param>
            <param name="collectionItemEntityType">The type of a single item in a collection to apply the key value to.</param>
            <returns>The bound key property value node.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SegmentArgumentParser">
            <summary>Provides a class used to represent a key for a resource.</summary>
            <remarks>
            Internally, every key instance has a collection of values. These values
            can be named or positional, depending on how they were specified
            if parsed from a URI.
            </remarks>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SegmentArgumentParser.Empty">
            <summary>Empty key singleton.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SegmentArgumentParser.namedValues">
            <summary>Named values.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SegmentArgumentParser.positionalValues">
            <summary>Positional values.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SegmentArgumentParser.keysAsSegments">
            <summary>Whether or not the key was formatted as a segment.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.#ctor">
            <summary>Initializes a new empty <see cref="T:Microsoft.Data.OData.Query.SegmentArgumentParser"/> instance.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.#ctor(System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.List{System.String},System.Boolean)">
            <summary>Initializes a new <see cref="T:Microsoft.Data.OData.Query.SegmentArgumentParser"/> instance.</summary>
            <param name="namedValues">Named values.</param>
            <param name="positionalValues">Positional values for this instance.</param>
            <param name="keysAsSegments">Whether or not the key was formatted as a segment.</param>
            <remarks>
            One of namedValues or positionalValues should be non-null, but not both.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.TryParseKeysFromUri(System.String,Microsoft.Data.OData.Query.SegmentArgumentParser@)">
            <summary>Attempts to parse key values from the specified text.</summary>
            <param name='text'>Text to parse (not null).</param>
            <param name='instance'>After invocation, the parsed key instance.</param>
            <returns>
            true if the key instance was parsed; false if there was a
            syntactic error.
            </returns>
            <remarks>
            The returned instance contains only string values. To get typed values, a call to
            TryConvertValues is necessary.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.FromSegment(System.String)">
            <summary>
            Creates a key instance from the given raw segment text with a single positional value.
            </summary>
            <param name="segmentText">The segment text.</param>
            <returns>A key instance with the given segment text as its only value.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.TryParseNullableTokens(System.String,Microsoft.Data.OData.Query.SegmentArgumentParser@)">
            <summary>Attempts to parse nullable values (only positional values, no name-value pairs) from the specified text.</summary>
            <param name='text'>Text to parse (not null).</param>
            <param name='instance'>After invocation, the parsed key instance.</param>
            <returns>
            true if the given values were parsed; false if there was a
            syntactic error.
            </returns>
            <remarks>
            The returned instance contains only string values. To get typed values, a call to
            TryConvertValues is necessary.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.TryConvertValues(System.Collections.Generic.IList{Microsoft.Data.Edm.IEdmStructuralProperty},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}}@)">
            <summary>Tries to convert values to the keys of the specified type.</summary>
            <param name="keyProperties">The key properties to use for the conversion.</param>
            <param name="keyPairs">The converted key-value pairs.</param>
            <returns>true if all values were converted; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.TryConvertValue(Microsoft.Data.Edm.IEdmPrimitiveTypeReference,System.String,System.Object@)">
            <summary>
            Try to convert a value into an EDM primitive type
            </summary>
            <param name="primitiveType">the type to convert to</param>
            <param name="valueText">the value to convert</param>
            <param name="convertedValue">The converted value, if conversion succeeded.</param>
            <returns>true if the conversion was successful.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.TryParseFromUri(System.String,System.Boolean,System.Boolean,Microsoft.Data.OData.Query.SegmentArgumentParser@)">
            <summary>Attempts to parse key values from the specified text.</summary>
            <param name='text'>Text to parse (not null).</param>
            <param name="allowNamedValues">Set to true if the parser should accept named values
                so syntax like Name='value'. If this is false, the parsing will fail on such constructs.</param>
            <param name="allowNull">Set to true if the parser should accept null values.
                If set to false, the parser will fail on null values.</param>
            <param name='instance'>After invocation, the parsed key instance.</param>
            <returns>
            true if the key instance was parsed; false if there was a
            syntactic error.
            </returns>
            <remarks>
            The returned instance contains only string values. To get typed values, a call to
            TryConvertValues is necessary.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentArgumentParser.CreateIfNull``1(``0@)">
            <summary>Creates a new instance if the specified value is null.</summary>
            <typeparam name="T">Type of variable.</typeparam>
            <param name="value">Current value.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SegmentArgumentParser.AreValuesNamed">
            <summary>Whether the values have a name.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SegmentArgumentParser.IsEmpty">
            <summary>Checks whether this key has any values.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SegmentArgumentParser.NamedValues">
            <summary>Returns a dictionary of named values when they AreValuesNamed is true.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SegmentArgumentParser.PositionalValues">
            <summary>Returns a list of values when they AreValuesNamed is false.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SegmentArgumentParser.ValueCount">
            <summary>Number of values in the key.</summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LambdaBinder">
            <summary>
            Class that knows how to bind a LambdaToken.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LambdaBinder.bindMethod">
            <summary>
            Method used to bind a parent token.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LambdaBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Constructs a LambdaBinder.
            </summary>
            <param name="bindMethod">Method used to bind a parent token.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LambdaBinder.BindLambdaToken(Microsoft.Data.OData.Query.SyntacticAst.LambdaToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Binds a LambdaToken to metadata.
            </summary>
            <param name="lambdaToken">Token to bind.</param>
            <param name="state">Object to hold the state of binding.</param>
            <returns>A metadata bound any or all node.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LambdaBinder.BindParentToken(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Bind the parent of the LambdaToken
            </summary>
            <param name="queryToken">the parent token</param>
            <returns>the bound parent node</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LambdaBinder.BindExpressionToken(Microsoft.Data.OData.Query.SyntacticAst.QueryToken)">
            <summary>
            Bind the expression of the LambdaToken
            </summary>
            <param name="queryToken">the expression token</param>
            <returns>the bound expression node</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralBinder">
            <summary>
            Class that knows how to bind literal values.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralBinder.BindLiteral(Microsoft.Data.OData.Query.SyntacticAst.LiteralToken)">
            <summary>
            Binds a literal value to a ConstantNode
            </summary>
            <param name="literalToken">Literal token to bind.</param>
            <returns>Bound query node.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser">
            <summary>Use this class to parse literals from keys, etags, skiptokens, and filter/orderby expression constants.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.DefaultInstance">
            <summary>
            Default singleton instance of the literal parser.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.KeysAsSegmentsInstance">
            <summary>
            Singleton instance of the literal parser for when keys-as-segments is turned on, which does not wrap the formatted strings in any quotes or type-markers.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.Parsers">
            <summary>
            Mapping between primitive CLR types and lightweight parser classes for that type.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.ForKeys(System.Boolean)">
            <summary>
            Gets the literal parser for keys, based on whether the keys are formatted as segments.
            </summary>
            <param name="keyAsSegment">Whether or not the keys is formatted as a segment.</param>
            <returns>The literal parser to use.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.TryParseLiteral(System.Type,System.String,System.Object@)">
            <summary>Converts a string to a primitive value.</summary>
            <param name="targetType">Type to convert string to.</param>
            <param name="text">String text to convert.</param>
            <param name="result">After invocation, converted value.</param>
            <returns>true if the value was converted; false otherwise.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.LiteralParser.ForETags">
            <summary>
            Gets the literal parser to use for ETags.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser.DefaultLiteralParser">
            <summary>
            Default literal parser which has type-markers and single-quotes. Also supports arbitrary literals being re-encoded in binary form.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DefaultLiteralParser.TryParseLiteral(System.Type,System.String,System.Object@)">
            <summary>Converts a string to a primitive value.</summary>
            <param name="targetType">Type to convert string to.</param>
            <param name="text">String text to convert.</param>
            <param name="result">After invocation, converted value.</param>
            <returns>true if the value was converted; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DefaultLiteralParser.TryRemoveFormattingAndConvert(System.String,System.Type,System.Object@)">
            <summary>
            Tries to parse the literal by first removing required formatting for the expected type, then converting the resulting string.
            </summary>
            <param name="text">String text to convert.</param>
            <param name="targetType">Type to convert string to.</param>
            <param name="targetValue">After invocation, converted value.</param>
            <returns>true if the value was converted; false otherwise.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser.KeysAsSegmentsLiteralParser">
            <summary>
            Simplified literal parser for keys-as-segments which does not expect type-markers, single-quotes, etc. Does not support re-encoding literals as binary.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.KeysAsSegmentsLiteralParser.TryParseLiteral(System.Type,System.String,System.Object@)">
            <summary>Converts a string to a primitive value.</summary>
            <param name="targetType">Type to convert string to.</param>
            <param name="text">String text to convert.</param>
            <param name="result">After invocation, converted value.</param>
            <returns>true if the value was converted; false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.KeysAsSegmentsLiteralParser.UnescapeLeadingDollarSign(System.String)">
            <summary>
            If the string starts with '$', removes it.
            Also asserts that the 2nd character is also '$', as otherwise the string would be treated as a system segment.
            </summary>
            <param name="text">The text.</param>
            <returns>The string value with a leading '$' removed, if the string started with one.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser">
            <summary>
            Helper class for parsing a specific type of primitive literal.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.XmlWhitespaceChars">
            <summary>XML whitespace characters to trim around literals.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.prefix">
            <summary>
            The expected prefix for the literal. Null indicates no prefix is expected.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.suffix">
            <summary>
            The expected suffix for the literal. Null indicates that no suffix is expected.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.suffixRequired">
            <summary>
            Whether or not the suffix is required.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.expectedType">
            <summary>
            The expected type for this parser.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.#ctor(System.Type,System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser"/> class.
            </summary>
            <param name="expectedType">The expected type for this parser.</param>
            <param name="suffix">The expected suffix for the literal. Null indicates that no suffix is expected.</param>
            <param name="suffixRequired">Whether or not the suffix is required.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.#ctor(System.Type,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser"/> class.
            </summary>
            <param name="expectedType">The expected type for this parser.</param>
            <param name="prefix">The expected prefix for the literal.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser"/> class.
            </summary>
            <param name="expectedType">The expected type for this parser.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.TryConvert(System.String,System.Object@)">
            <summary>
            Tries to convert the given text into this parser's expected type. Conversion only, formatting should already have been removed.
            </summary>
            <param name="text">The text to convert.</param>
            <param name="targetValue">The target value.</param>
            <returns>Whether or not conversion was successful.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.TryRemoveFormatting(System.String@)">
            <summary>
            Tries to remove formatting specific to this parser's expected type.
            </summary>
            <param name="text">The text to remove formatting from.</param>
            <returns>Whether or not the expected formatting was found and succesfully removed.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.ValueOfTypeCanContainQuotes(System.Type)">
            <summary>
            Determines whether the values for the specified types should be
            quoted in URI keys.
            </summary>
            <param name='type'>Type to check.</param>
            <returns>
            true if values of <paramref name='type' /> require quotes; false otherwise.
            </returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.PrimitiveParser.TryRemoveLiteralSuffix(System.String,System.String@)">
            <summary>
            Check and strip the input <paramref name="text"/> for literal <paramref name="suffix"/>
            </summary>
            <param name="suffix">The suffix value</param>
            <param name="text">The string to check</param>
            <returns>A string that has been striped of the suffix</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1">
            <summary>
            Primitive parser which uses a delegate for conversion.
            </summary>
            <typeparam name="T">The expected CLR type when parsing.</typeparam>
        </member>
        <member name="F:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.convertMethod">
            <summary>
            The delegate to use for conversion.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.#ctor(System.Func{System.String,`0},System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1"/> class.
            </summary>
            <param name="convertMethod">The delegate to use for conversion.</param>
            <param name="suffix">The expected suffix for the literal. Null indicates that no suffix is expected.</param>
            <param name="suffixRequired">Whether or not the suffix is required.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.#ctor(System.Func{System.String,`0})">
            <summary>
            Prevents a default instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1"/> class from being created.
            </summary>
            <param name="convertMethod">The delegate to use for conversion.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.#ctor(System.Func{System.String,`0},System.String)">
            <summary>
            Prevents a default instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1"/> class from being created.
            </summary>
            <param name="convertMethod">The delegate to use for conversion.</param>
            <param name="prefix">The expected prefix for the literal.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.WithoutMarkup(System.Func{System.String,`0})">
            <summary>
            Creates a primitive parser which wraps the given delegate and does not expect any extra markup in serialized literal.
            </summary>
            <param name="convertMethod">The delegate to use for conversion.</param>
            <returns>A new primitive parser.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.WithPrefix(System.Func{System.String,`0},System.String)">
            <summary>
            Creates a primitive parser which wraps the given delegate and expects serialized literals to start with one of the given prefixes.
            </summary>
            <param name="convertMethod">The delegate to use for conversion.</param>
            <param name="prefix">The expected prefix for the literal.</param>
            <returns>A new primitive parser.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.WithSuffix(System.Func{System.String,`0},System.String)">
            <summary>
            Creates a primitive parser which wraps the given delegate and expects serialized literals to end with the given suffix.
            </summary>
            <param name="convertMethod">The delegate to use for conversion.</param>
            <param name="suffix">The expected suffix for the literal. Null indicates that no suffix is expected.</param>
            <returns>A new primitive parser.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.WithSuffix(System.Func{System.String,`0},System.String,System.Boolean)">
            <summary>
            Creates a primitive parser which wraps the given delegate and expects serialized literals to end with the given suffix.
            </summary>
            <param name="convertMethod">The delegate to use for conversion.</param>
            <param name="suffix">The expected suffix for the literal. Null indicates that no suffix is expected.</param>
            <param name="required">Whether or not the suffix is required.</param>
            <returns>A new primitive parser.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DelegatingPrimitiveParser`1.TryConvert(System.String,System.Object@)">
            <summary>
            Tries to convert the given text into this parser's expected type. Conversion only, formatting should already have been removed.
            </summary>
            <param name="text">The text to convert.</param>
            <param name="targetValue">The target value.</param>
            <returns>
            Whether or not conversion was successful.
            </returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser.DecimalPrimitiveParser">
            <summary>
            Parser specific to the Edm.Decimal type.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DecimalPrimitiveParser.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.DecimalPrimitiveParser"/> class.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.DecimalPrimitiveParser.ConvertDecimal(System.String)">
            <summary>
            Special helper to convert a string to a decimal that will allow more than what XmlConvert.ToDecimal supports by default.
            </summary>
            <param name="text">The text to convert.</param>
            <returns>The converted decimal value.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser.BinaryPrimitiveParser">
            <summary>
            Parser specific to the Edm.Binary type.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.BinaryPrimitiveParser.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.BinaryPrimitiveParser"/> class.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.BinaryPrimitiveParser.TryConvert(System.String,System.Object@)">
            <summary>
            Tries to convert the given text into this parser's expected type. Conversion only, formatting should already have been removed.
            </summary>
            <param name="text">The text to convert.</param>
            <param name="targetValue">The target value.</param>
            <returns>
            Whether or not conversion was successful.
            </returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.BinaryPrimitiveParser.TryRemoveFormatting(System.String@)">
            <summary>
            Tries to remove formatting specific to this parser's expected type.
            </summary>
            <param name="text">The text to remove formatting from.</param>
            <returns>
            Whether or not the expected formatting was found and succesfully removed.
            </returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.BinaryPrimitiveParser.HexCharToNibble(System.Char)">
            <summary>Returns the 4 bits that correspond to the specified character.</summary>
            <param name="c">Character in the 0-F range to be converted.</param>
            <returns>The 4 bits that correspond to the specified character.</returns>
            <exception cref="T:System.FormatException">Thrown when 'c' is not in the '0'-'9','a'-'f' range.</exception>
        </member>
        <member name="T:Microsoft.Data.OData.Query.LiteralParser.StringPrimitiveParser">
            <summary>
            Parser specific to the Edm.String type.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.StringPrimitiveParser.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Data.OData.Query.LiteralParser.StringPrimitiveParser"/> class.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.StringPrimitiveParser.TryConvert(System.String,System.Object@)">
            <summary>
            Tries to convert the given text into this parser's expected type. Conversion only, formatting should already have been removed.
            </summary>
            <param name="text">The text to convert.</param>
            <param name="targetValue">The target value.</param>
            <returns>
            Whether or not conversion was successful.
            </returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.LiteralParser.StringPrimitiveParser.TryRemoveFormatting(System.String@)">
            <summary>
            Tries to remove formatting specific to this parser's expected type.
            </summary>
            <param name="text">The text to remove formatting from.</param>
            <returns>
            Whether or not the expected formatting was found and succesfully removed.
            </returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.MetadataBindingUtils">
            <summary>
            Helper methods for metadata binding.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.MetadataBindingUtils.ConvertToTypeIfNeeded(Microsoft.Data.OData.Query.SemanticAst.SingleValueNode,Microsoft.Data.Edm.IEdmTypeReference)">
            <summary>
            If the source node is not of the specified type, then we check if type promotion is possible and inject a convert node.
            If the source node is the same type as the target type (or if the target type is null), we just return the source node as is.
            </summary>
            <param name="source">The source node to apply the convertion to.</param>
            <param name="targetTypeReference">The target primitive type. May be null - this method will do nothing in that case.</param>
            <returns>The converted query node, or the original source node unchanged.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.MetadataBindingUtils.GetEdmType(Microsoft.Data.OData.Query.SemanticAst.QueryNode)">
            <summary>
            Retrieves type associated to a segment.
            </summary>
            <param name="segment">The node to retrive the type from.</param>
            <returns>The type of the node, or item type for collections.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.MetadataBindingUtils.GetEdmTypeReference(Microsoft.Data.OData.Query.SemanticAst.QueryNode)">
            <summary>
            Retrieves the type reference associated to a segment.
            </summary>
            <param name="segment">The node to retrive the type reference from.</param>
            <returns>The Type reference of the node (item type reference for collections).</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers">
            <summary>
            Class to provide methods that wrap EdmLib calls that are normally not allows in ODataLib, but
            are OK in the Uri Parser. These are OK to suppress because the Uri Parser
            does not need to go through the behavior knob that the ODL reader/writer does.
            This should only be used by the Uri Parser.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.FindTypeFromModel(Microsoft.Data.Edm.IEdmModel,System.String)">
            <summary>
            Wraps a call to IEdmModel.FindType.
            </summary>
            <param name="model">The model to search.</param>
            <param name="qualifiedName">The qualified name of the type to find within the model.</param>
            <returns>The requested type, or null if no such type exists.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.FindCollectionTypeFromModel(Microsoft.Data.Edm.IEdmModel,System.String)">
            <summary>
            Wraps call to FindTypeFromModel for a Collection type.
            </summary>
            <param name="model">the model to search</param>
            <param name="qualifiedName">the name to find within the model</param>
            <returns>a type reference to the collection type, or null if no such type exists.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.GetFunctionReturnType(Microsoft.Data.Edm.IEdmFunctionImport)">
            <summary>
            Wraps a call to IEdmFunctionImport.ReturnType.
            </summary>
            <param name="serviceOperation">The function import containing the return type.</param>
            <returns>Gets the return type of this function.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.GetEntitySetElementType(Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Wraps a call to IEdmEntitySet.ElementType.
            </summary>
            <param name="entitySet">The EntitySet to containing the element type.</param>
            <returns>The entity type contained in this entity set.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.GetOperationParameterType(Microsoft.Data.Edm.IEdmFunctionParameter)">
            <summary>
            Wraps a call to IEdmFunctionParameter.Type.
            </summary>
            <param name="serviceOperationParameter">The IEdmFunctionParameter containing the typ[e.</param>
            <returns>The type of this function parameter.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.CheckRelatedTo(Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmType)">
            <summary>
            Check whether the parent and child are properly related types
            </summary>
            <param name="parentType">the parent type</param>
            <param name="childType">the child type</param>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the two types are not related.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.GetNavigationPropertyFromExpandPath(Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Follow an ODataPath from an Expand to get the Final Nav Prop
            </summary>
            <param name="path">the path to follow</param>
            <returns>the navigation property at the end of that path.</returns>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the last segment in the path is not a nav prop.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.GetMostDerivedTypeFromPath(Microsoft.Data.OData.Query.SemanticAst.ODataPath,Microsoft.Data.Edm.IEdmType)">
            <summary>
            Follow an ODataPath from to get the most derived type
            </summary>
            <param name="path">the path to follow</param>
            <param name="startingType">the starting type before beginning to walk the path.</param>
            <returns>the most derived type in the path.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.TryGetEntityContainer(System.String,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmEntityContainer@)">
            <summary>
            Is this token a container
            </summary>
            <param name="containerIdentifier">the containerIdentifier of the container to find</param>
            <param name="model">which model to search</param>
            <param name="entityContainer">the container we found, if we found one</param>
            <returns>true if we find a container, false otherwise</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.IsEntityCollection(Microsoft.Data.Edm.IEdmTypeReference)">
            <summary>
            Returns true if this type is an EntityCollection
            </summary>
            <param name="type">The type to check</param>
            <returns>true if the type is an entity collection</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.AllHaveEqualReturnTypeAndAttributes(System.Collections.Generic.IList{Microsoft.Data.Edm.IEdmFunctionImport})">
            <summary>
            Checks whether all function imports have the same return type
            </summary>
            <param name="functionImports">the list to check</param>
            <returns>true if the list of function imports all have the same return type</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.Metadata.UriEdmHelpers.IsBindingTypeValid(Microsoft.Data.Edm.IEdmType)">
            <summary>
            Is this a valid binding type. i.e. is this an entity, entity colleciton, or complex type.
            </summary>
            <param name="bindingType">the binding type</param>
            <returns>true if this binding type is valid</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.NonOptionExpandBinder">
            <summary>
            NonOption variant of an ExpandBinder, where the default selection at each level is based on the top level select
            clause. If that top level select is not populated, then we select all from this level, instead of selecting nothing.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.NonOptionExpandBinder.#ctor(Microsoft.Data.OData.Query.ODataUriParserConfiguration,Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build the NonOption variant of an ExpandBinder
            </summary>
            <param name="configuration">The configuration used for binding.</param>
            <param name="entityType">The entity type of the top level expand item.</param>
            <param name="entitySet">The entity set of the top level expand item.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.NonOptionExpandBinder.GenerateSubExpand(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Generate a SubExpand based on the current nav property and the curren token
            </summary>
            <param name="currentNavProp">the current navigation property</param>
            <param name="tokenIn">the current token</param>
            <returns>a new SelectExpand clause bound to the current token and nav prop</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.NonOptionExpandBinder.DecorateExpandWithSelect(Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause,Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SyntacticAst.SelectToken)">
            <summary>
            Decorate an expand tree using a select token.
            </summary>
            <param name="subExpand">the already built sub expand</param>
            <param name="currentNavProp">the current navigation property</param>
            <param name="select">the select token to use</param>
            <returns>A new SelectExpand clause decorated with the select token.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.NonOptionSelectExpandTermParser">
            <summary>
            Object that knows how to parse a single term within a select expression. That is, apath to a property,
            a wildcard, operation name, etc.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NonOptionSelectExpandTermParser.#ctor(System.String,System.Int32)">
            <summary>
            Build the NonOption strategy.
            </summary>
            <param name="clauseToParse">the clause to parse</param>
            <param name="maxDepth">max recursive depth</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NonOptionSelectExpandTermParser.BuildExpandTermToken(System.Boolean,Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Build the list of expand options
            Depends on whether options are allowed or not.
            </summary>
            <param name="isInnerTerm">is this an inner expand term</param>
            <param name="pathToken">the current level token, as a PathToken</param>
            <returns>An expand term token based on the path token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NonOptionSelectExpandTermParser.IsNotEndOfTerm(System.Boolean)">
            <summary>
            determine whether we're at the end of a select or expand term
            </summary>
            <param name="isInnerTerm">flag to indicate whether this is an outer or inner select.</param>
            <returns>true if we are not at the end of a select term.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.InnerPathTokenBinder">
            <summary>
            Class responsible for binding a InnerPathToken into:
            1. SingleNavigationNode
            2. CollectionNavigationNode
            3. SinglePropertyAccessNode (complex)
            4. CollectionPropertyAccessNode (primitive | complex)
            5. KeyLookupNode
            6. SingleValueFunctionCallNode
            7. SingleEntityFunctionCallNode
            </summary>
            <remarks>TODO The binder does support key lookup on collection navigation properties, however at this time
            the synctactic parser does not set things up correctly to allow end-to-end scenarios to work.</remarks>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InnerPathTokenBinder.bindMethod">
            <summary>
            Bind method to use for binding a parent node, if needed.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.InnerPathTokenBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Constructs a InnerPathTokenBinder.
            </summary>
            <param name="bindMethod">Bind method to use for binding a parent node, if needed.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.InnerPathTokenBinder.EnsureParentIsEntityForNavProp(Microsoft.Data.OData.Query.SemanticAst.SingleValueNode)">
            <summary>
            Ensures that the parent node is of entity type, throwing if it is not.
            </summary>
            <param name="parent">Parent node to a navigation property.</param>
            <returns>The given parent node as a SingleEntityNode.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.InnerPathTokenBinder.BindProperty(Microsoft.Data.Edm.IEdmTypeReference,System.String)">
            <summary>
            Given a property name, if the associated type reference is strucutred, then this returns
            the property of the structured type. Otherwise, it returns null.
            </summary>
            <param name="parentReference">The parent type to be used to find binding options.</param>
            <param name="propertyName">The string designated the property name to be bound.</param>
            <returns>The property associated with string and parent type.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.InnerPathTokenBinder.GetNavigationNode(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SemanticAst.SingleEntityNode,System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.NamedValue},Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.KeyBinder)">
            <summary>
            Builds an appropriate navigation query node (collection or single) for the given property and parent node.
            </summary>
            <param name="property">Navigation property.</param>
            <param name="parent">Parent Node.</param>
            <param name="namedValues">Named values (key values) that were included in the node we are binding, if any.</param>
            <param name="state">State of binding.</param>
            <param name="keyBinder">Object to perform binding on any key values that are present.</param>
            <returns>A new CollectionNavigationNode or SingleNavigationNode to capture the navigation propety access.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.InnerPathTokenBinder.BindInnerPathSegment(Microsoft.Data.OData.Query.SyntacticAst.InnerPathToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Binds a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.InnerPathToken"/>.
            This includes more than just navigations - it includes complex property access and primitive collections.
            </summary>
            <param name="segmentToken">The segment token to bind.</param>
            <param name="state">The state of binding.</param>
            <returns>The bound node.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.InnerPathTokenBinder.DetermineParentNode(Microsoft.Data.OData.Query.SyntacticAst.InnerPathToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Determines the parent node. If the token has a parent, that token is bound. If not, then we
            use the implicit parameter from the BindingState as the parent node.
            </summary>
            <param name="segmentToken">Token to determine the parent node for.</param>
            <param name="state">Current state of binding.</param>
            <returns>A SingleValueQueryNode that is the parent node of the <paramref name="segmentToken"/>.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.NodeFactory">
            <summary>
            Factory class to build IParameterQueryNodes.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NodeFactory.CreateImplicitRangeVariable(Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Creates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.RangeVariable"/> for an implicit parameter ($it) from an <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/>.
            </summary>
            <param name="path"><see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> that the range variable is iterating over.</param>
            <returns>A new <see cref="T:Microsoft.Data.OData.Query.SemanticAst.RangeVariable"/>.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NodeFactory.CreateImplicitRangeVariable(Microsoft.Data.Edm.IEdmTypeReference,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Creates a ParameterQueryNode for an implicit parameter ($it).
            </summary>
            <param name="elementType">Element type the parameter represents.</param>
            <param name="entitySet">Entity Set. May be null and must be null for non entities.</param>
            <returns>A new IParameterNode.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NodeFactory.CreateRangeVariableReferenceNode(Microsoft.Data.OData.Query.SemanticAst.RangeVariable)">
            <summary>
            Creates a RangeVariableReferenceNode for a given range variable
            </summary>
            <param name="rangeVariable">Name of the rangeVariable.</param>
            <returns>A new SingleValueNode (either an Entity or NonEntity RangeVariableReferenceNode.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NodeFactory.CreateParameterNode(System.String,Microsoft.Data.OData.Query.SemanticAst.CollectionNode)">
            <summary>
            Creates a ParameterQueryNode for an explicit parameter.
            </summary>
            <param name="parameter">Name of the parameter.</param>
            <param name="nodeToIterateOver">CollectionNode that the parameter is iterating over.</param>
            <returns>A new RangeVariable.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.NodeFactory.CreateLambdaNode(Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.SemanticAst.CollectionNode,Microsoft.Data.OData.Query.SemanticAst.SingleValueNode,Microsoft.Data.OData.Query.SemanticAst.RangeVariable,Microsoft.Data.OData.Query.QueryTokenKind)">
            <summary>
            Creates an AnyNode or an AllNode from the given
            </summary>
            <param name="state">State of binding.</param>
            <param name="parent">Parent node to the lambda.</param>
            <param name="lambdaExpression">Bound Lambda expression.</param>
            <param name="newRangeVariable">The new range variable being added by this lambda node.</param>
            <param name="queryTokenKind">Token kind.</param>
            <returns>A new LambdaNode bound to metadata.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler">
            <summary>
            Handler interface for walking the path semantic tree.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.TypeSegment)">
            <summary>
            Handle a TypeSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment)">
            <summary>
            Handle a NavigationPropertySegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment)">
            <summary>
            Handle an EntitySetSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.KeySegment)">
            <summary>
            Handle a KeySegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.PropertySegment)">
            <summary>
            Handle a PropertySegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.OperationSegment)">
            <summary>
            Handle an OperationSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment)">
            <summary>
            Handle an OpenPropertySegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.CountSegment)">
            <summary>
            Handle a CountSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment)">
            <summary>
            Handle a LinksSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.ValueSegment)">
            <summary>
            Handle a ValueSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.BatchSegment)">
            <summary>
            Handle a BatchSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment)">
            <summary>
            Handle a BatchReferenceSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler.Handle(Microsoft.Data.OData.Query.SemanticAst.MetadataSegment)">
            <summary>
            Handle a MetadataSegment
            </summary>
            <param name="segment">the segment to Handle</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode">
            <summary>
            Node to represent a function call that returns a collection of entities.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionNode">
            <summary>
            Base class for all semantically bound nodes which represent a composable collection of values.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionNode.EntityItemType">
            <summary>
            Get the resouce type of a single entity from the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionNode.EntitySet">
            <summary>
            Get the EntitySet that contains this collection.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.name">
            <summary>
            the name of this function.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.functionImports">
            <summary>
            list of function imports that this node represents.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.parameters">
            <summary>
            list of parameters provided to this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.entityTypeReference">
            <summary>
            the type a single entity returned by this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.returnedCollectionTypeReference">
            <summary>
            the type of the collection returned by this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.entitySet">
            <summary>
            the set containing the entities returned by this function.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.source">
            <summary>
            The semantically bound parent of this EntityCollectionFunctionCallNode.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.#ctor(System.String,System.Collections.Generic.IEnumerable{Microsoft.Data.Edm.IEdmFunctionImport},System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.QueryNode},Microsoft.Data.Edm.IEdmCollectionTypeReference,Microsoft.Data.Edm.IEdmEntitySet,Microsoft.Data.OData.Query.SemanticAst.QueryNode)">
            <summary>
            Creates an EntityCollecitonFunctionCallNode to represent a function call that returns a collection of entities.
            </summary>
            <param name="name">The name of this function.</param>
            <param name="functionImports">the list of function imports that this node represents.</param>
            <param name="parameters">the list of parameters to this function</param>
            <param name="returnedCollectionTypeReference">the type the entity collection returned by this function. The element type must be an entity type.</param>
            <param name="entitySet">the set containing entities returned by this function</param>
            <param name="source">the semantically bound parent of this EntityCollectionFunctionCallNode.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the provided name is null.</exception>
            <exception cref="T:System.ArgumentNullException">Throws if the provided collection type reference is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the element type of the provided collection type reference is not an entity type.</exception>
            <exception cref="T:System.ArgumentNullException">Throws if the input function imports is null</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.Name">
            <summary>
            Gets the name of this function
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.FunctionImports">
            <summary>
            Gets the list of function imports that this node represents.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.Parameters">
            <summary>
            Gets the list of parameters provided to this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.ItemType">
            <summary>
            Gets the individual item type returned by this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.CollectionType">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.EntityItemType">
            <summary>
            Gets the individual entity type returned by this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.EntitySet">
            <summary>
            Gets the entity set contaiing the entities returned by this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.Source">
            <summary>
            Gets the semantically bound parent of this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator">
            <summary>
            Segment translator to determine whether a given <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/> is a collection.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment)">
            <summary>
            Translate a NavigationPropertySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment)">
            <summary>
            Translate an EntitySetSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.KeySegment)">
            <summary>
            Translate a KeySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.PropertySegment)">
            <summary>
            Translate a PropertySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment)">
            <summary>
            Translate an OpenPropertySegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.CountSegment)">
            <summary>
            Translate a CountSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment)">
            <summary>
            Translate a NavigationPropertyLinkSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.BatchSegment)">
            <summary>
            Translate a BatchSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment)">
            <summary>
            Translate a BatchReferenceSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.ValueSegment)">
            <summary>
            Translate a ValueSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.IsCollectionTranslator.Translate(Microsoft.Data.OData.Query.SemanticAst.MetadataSegment)">
            <summary>
            Translate a MetadataSegment
            </summary>
            <param name="segment">the segment to Translate</param>
            <returns>UserDefinedValue</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input segment is null.</exception>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment">
            <summary>
            A segment representing $links or $ref
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment">
            <summary>
            The semantic representation of a segment in a path.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.identifier">
            <summary>Returns the identifier for this segment i.e. string part without the keys.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.singleResult">
            <summary>Indicates whether this segment targets a single result or not.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.targetEdmEntitySet">
            <summary>The entity set targetted by this segment. Can be null.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.targetEdmType">
            <summary>The type targetted by this segment. Can be null.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.targetKind">
            <summary>The kind of resource targeted by this segment.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.#ctor(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Creates a new Segment and copies values from another Segment.
            </summary>
            <param name="other">Segment to copy values from.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.#ctor">
            <summary>
            Creates a new Segment.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/> using an implemntation of<see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/> using an implementation of a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handler interface.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check</param>
            <returns>true if the segments are equal.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.CopyValuesFrom(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Copies over all the values of the internal-only properties from one segment to another.
            </summary>
            <param name="other">Ther segment to copy from.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/>.
            </summary>
            <remarks>This property can be null. Not all segments have a Type, such as a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchSegment"/>.</remarks>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.Identifier">
            <summary>Returns the identifier for this segment i.e. string part without the keys.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.SingleResult">
            <summary>Whether the segment targets a single result or not.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.TargetEdmEntitySet">
            <summary>The entity set targetted by this segment. Can be null.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.TargetEdmType">
            <summary>The type targetted by this segment. Can be null.</summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment.TargetKind">
            <summary>The kind of resource targeted by this segment.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.navigationProperty">
            <summary>
            The navigation property this link or ref acts on.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.#ctor(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a segment to represnt $links or $ref on a Nav prop
            </summary>
            <param name="navigationProperty">The navigaiton property this link or ref acts on</param>
            <param name="entitySet">The set of entities linked to by this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment"/>. This can be null.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input navigationProperty is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/>s.
            </summary>
            <param name="handler">An implementation of the translator interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another.
            </summary>
            <param name="other">The other segment to check.</param>
            <returns>True if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.NavigationProperty">
            <summary>
            Gets the navigation property this link or ref acts on.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.EntitySet">
            <summary>
            Gets the set of entities linked to by this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment"/>.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertyLinkSegment"/>.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ODataExpandPath">
            <summary>
            A specific type of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> which can only contain instances of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.TypeSegment"/> or <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment"/>.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath">
            <summary>
            A representation of the path portion of an OData URI which is made up of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/>s.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ODataPath.segments">
            <summary>
            The segments that make up this path.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment})">
            <summary>
            Creates a new instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> containing the given segments.
            </summary>
            <param name="segments">The segments that make up the path.</param>
            <exception cref="M:Microsoft.Data.OData.Error.ArgumentNull(System.String)">Throws if input segments is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.#ctor(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment[])">
            <summary>
            Creates a new instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> containing the given segments.
            </summary>
            <param name="segments">The segments that make up the path.</param>
            <exception cref="M:Microsoft.Data.OData.Error.ArgumentNull(System.String)">Throws if input segments is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.GetEnumerator">
            <summary>
            Get the segments enumerator
            </summary>
            <returns>The segments enumerator</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            get the segments enumerator
            </summary>
            <returns>The segments enumerator.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.WalkWith``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Walk this path using a translator
            </summary>
            <typeparam name="T">the return type of the translator</typeparam>
            <param name="translator">a user defined translation path</param>
            <returns>an enumerable containing user defined objects for each segment</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.WalkWith(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Walk this path using a handler
            </summary>
            <param name="handler">the handler that will be applied to each segment</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Checks if this path is equal to another path.
            </summary>
            <param name="other">The other path to compare it to</param>
            <returns>True if the two paths are equal</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPath.Add(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Add a segment to this path.
            </summary>
            <param name="newSegment">the segment to add</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input newSegment is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPath.FirstSegment">
            <summary>
            Gets the first segment in the path. Returns null if the path is empty.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPath.LastSegment">
            <summary>
            Get the last segment in the path. Returns null if the path is empty.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataPath.Count">
            <summary>
            Get the number of segments in this path.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataExpandPath.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment})">
            <summary>
            Create an ODataPath object to represent a path semantically
            </summary>
            <param name="segments">The list of segments in the path.</param>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if this list of segments doesn't match the requirements for a $expand</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataExpandPath.#ctor(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment[])">
            <summary>
            Create an ODataPath object based on a single segment
            </summary>
            <param name="segments">A list of segments in the path.</param>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if this list of segments doesn't match the requirements for a $expand</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataExpandPath.GetNavigationProperty">
            <summary>
            Gets the navigation property for this expand path.
            </summary>
            <returns>the navigation property for this expand path.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataExpandPath.ValidatePath">
            <summary>
            Ensure that this expand path contains only valid segment types.
            </summary>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if this list of segments doesn't match the requirements for a $expand</exception>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathExtensions">
            <summary>
            Extension methods for <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/>. These method provide convenince functions.
            TODO: Implement this class and it's visitors. These are stubs.
            </summary>
            <remarks>
            The values that these methods compute are not cached.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathExtensions.EdmType(Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Computes the <see cref="T:Microsoft.Data.Edm.IEdmTypeReference"/> of the resource identified by this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/>.
            </summary>
            <param name="path">Path to compute the type for.</param>
            <returns>The <see cref="T:Microsoft.Data.Edm.IEdmTypeReference"/> of the resource, or null if the path does not identify a
            resource with a type.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathExtensions.EntitySet(Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Computes the <see cref="T:Microsoft.Data.Edm.IEdmEntitySet"/> of the resource identified by this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/>.
            </summary>
            <param name="path">Path to compute the set for.</param>
            <returns>The <see cref="T:Microsoft.Data.Edm.IEdmEntitySet"/> of the resource, or null if the path does not identify a
            resource that is part of a set.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataPathExtensions.IsCollection(Microsoft.Data.OData.Query.SemanticAst.ODataPath)">
            <summary>
            Computes whether or not the resource identified by this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> is a collection.
            </summary>
            <param name="path">Path to perform the computation on.</param>
            <returns>True if the resource if a feed or collection of primitive or complex types. False otherwise.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataPathFactory">
            <summary>Translates from an IPathSegment into an ODataPath</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathFactory.BindPath(System.Collections.Generic.ICollection{System.String},Microsoft.Data.OData.Query.ODataUriParserConfiguration)">
            <summary>
            Binds a collection of <paramref name="segments"/> to metadata, creating a semantic ODataPath object.
            </summary>
            <param name="segments">Collection of path segments.</param>
            <param name="configuration">The configuration to use when binding the path.</param>
            <returns>A semantic <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> object to describe the path.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataUriParser">
            <summary>
            Main Public API to parse an ODataURI.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUriParser.configuration">
            <summary>
            The parser's configuration.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.#ctor(Microsoft.Data.Edm.IEdmModel,System.Uri)">
            <summary>
            Build an ODataUriParser
            </summary>
            <param name="model">Model to use for metadata binding.</param>
            <param name="serviceRoot">Absolute URI of the service root.</param>
            <exception cref="T:System.ArgumentNullException">Throws if input model is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the input serviceRoot is not an AbsoluteUri</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseFilter(System.String,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmType)">
            <summary>
            Parses a <paramref name="filter"/> clause on the given <paramref name="elementType"/>, binding
            the text into semantic nodes using the provided <paramref name="model"/>.
            </summary>
            <param name="filter">String representation of the filter expression.</param>
            <param name="model">Model to use for metadata binding.</param>
            <param name="elementType">Type that the filter clause refers to.</param>
            <returns>A <see cref="T:Microsoft.Data.OData.Query.SemanticAst.FilterClause"/> representing the metadata bound filter expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseFilter(System.String,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Parses a <paramref name="filter"/> clause on the given <paramref name="elementType"/>, binding
            the text into semantic nodes using the provided <paramref name="model"/>.
            </summary>
            <param name="filter">String representation of the filter expression.</param>
            <param name="model">Model to use for metadata binding.</param>
            <param name="elementType">Type that the filter clause refers to.</param>
            <param name="entitySet">EntitySet that the elements beign filtered are from.</param>
            <returns>A <see cref="T:Microsoft.Data.OData.Query.SemanticAst.FilterClause"/> representing the metadata bound filter expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseOrderBy(System.String,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmType)">
            <summary>
            Parses a <paramref name="orderBy"/> clause on the given <paramref name="elementType"/>, binding
            the text into semantic nodes using the provided <paramref name="model"/>.
            </summary>
            <param name="orderBy">String representation of the orderby expression.</param>
            <param name="model">Model to use for metadata binding.</param>
            <param name="elementType">Type that the orderby clause refers to.</param>
            <returns>A <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OrderByClause"/> representing the metadata bound orderby expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseOrderBy(System.String,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Parses a <paramref name="orderBy "/> clause on the given <paramref name="elementType"/>, binding
            the text into semantic nodes using the provided <paramref name="model"/>.
            </summary>
            <param name="orderBy">String representation of the orderby expression.</param>
            <param name="model">Model to use for metadata binding.</param>
            <param name="elementType">Type that the orderby clause refers to.</param>
            <param name="entitySet">EntitySet that the elements beign filtered are from.</param>
            <returns>A <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OrderByClause"/> representing the metadata bound orderby expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseFilter(System.String,Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Parse a filter clause from an instantiated class.
            </summary>
            <param name="filter">the filter clause to parse</param>
            <param name="elementType">Type that the select and expand clauses are projecting.</param>
            <param name="entitySet">EntitySet that the elements being filtered are from.</param>
            <returns>A FilterClause representing the metadata bound filter expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseOrderBy(System.String,Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Parse an orderby clause from an instance of this class
            </summary>
            <param name="orderBy">the orderby clause to parse</param>
            <param name="elementType">Type that the select and expand clauses are projecting.</param>
            <param name="entitySet">EntitySet that the elements being filtered are from.</param>
            <returns>An OrderByClause representing the metadata bound orderby expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParsePath(System.Uri)">
            <summary>
            Parses a <paramref name="pathUri"/> into a semantic <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> object.
            </summary>
            <remarks>
            This is designed to parse the Path of a URL. If it is used to parse paths that are contained
            within other places, such as $filter expressions, then it may not enforce correct rules.
            </remarks>
            <param name="pathUri">The absolute URI which holds the path to parse.</param>
            <returns>An <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> representing the metadata-bound path expression.</returns>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the serviceRoot member is null, or if the input path is not an absolute uri.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseSelectAndExpand(System.String,System.String,Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            ParseSelectAndExpand from an instantiated class
            </summary>
            <param name="select">the select to parse</param>
            <param name="expand">the expand to parse</param>
            <param name="elementType">Type that the select and expand clauses are projecting.</param>
            <param name="entitySet">EntitySet that the elements being filtered are from. This can be null, if so that null will propagate through the resulting SelectExpandClause.</param>
            <returns>A SelectExpandClause with the semantic representation of select and expand terms</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseUri(System.Uri)">
            <summary>
            Parse a full Uri into its contingent parts with semantic meaning attached to each part.
            See <see cref="T:Microsoft.Data.OData.Query.ODataUri"/>.
            </summary>
            <param name="fullUri">The full uri to parse.</param>
            <returns>An <see cref="T:Microsoft.Data.OData.Query.ODataUri"/> representing the full uri.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseInlineCount(System.String)">
            <summary>
            Parses an inline count option
            </summary>
            <param name="inlineCount">The inline count string from the query</param>
            <returns>An InlineCountKind representing that inline count option.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseUriImplementation(System.Uri)">
            <summary>
            Parses the full Uri.
            </summary>
            <param name="fullUri">The full uri to parse</param>
            <returns>An ODataUri representing the full uri</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseFilterImplementation(System.String,Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Parses a <paramref name="filter"/> clause on the given <paramref name="elementType"/>, binding
            the text into semantic nodes using the provided.
            </summary>
            <param name="filter">String representation of the filter expression.</param>
            <param name="elementType">Type that the filter clause refers to.</param>
            <param name="entitySet">EntitySet that the elements beign filtered are from.</param>
            <returns>A <see cref="T:Microsoft.Data.OData.Query.SemanticAst.FilterClause"/> representing the metadata bound filter expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseOrderByImplementation(System.String,Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Parses a <paramref name="orderBy "/> clause on the given <paramref name="elementType"/>, binding
            the text into semantic nodes using the provided model.
            </summary>
            <param name="orderBy">String representation of the orderby expression.</param>
            <param name="elementType">Type that the orderby clause refers to.</param>
            <param name="entitySet">EntitySet that the elements beign filtered are from.</param>
            <returns>A <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OrderByClause"/> representing the metadata bound orderby expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseSelectAndExpandImplementation(System.String,System.String,Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Parses the <paramref name="select"/> and <paramref name="expand"/> clauses on the given <paramref name="elementType"/>, binding
            the text into a metadata-bound list of properties to be selected using the provided model.
            </summary>
            <param name="select">String representation of the select expression from the URI.</param>
            <param name="expand">String representation of the expand expression from the URI.</param>
            <param name="elementType">Type that the select and expand clauses are projecting.</param>
            <param name="entitySet">EntitySet that the elements being filtered are from.</param>
            <returns>A <see cref="T:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause"/> representing the metadata bound orderby expression.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUriParser.ParseInlineCountImplementation(System.String)">
            <summary>
            Parses an inline count option
            </summary>
            <param name="inlineCount">The inline count string from the query</param>
            <returns>An InlineCountKind representing that inline count option.</returns>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input inlineCount is not a valid $inlinecount value.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParser.Settings">
            <summary>
            The settings for this instance of <see cref="T:Microsoft.Data.OData.Query.ODataUriParser"/>. Refer to the documentation for the individual properties of <see cref="T:Microsoft.Data.OData.Query.ODataUriParserSettings"/> for more information.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParser.Model">
            <summary>
            Gets the model for this ODataUriParser
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParser.ServiceRoot">
            <summary>
            Gets the absolute URI of the service root.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParser.UrlConventions">
            <summary>
            Gets or Sets the <see cref="T:Microsoft.Data.OData.Query.ODataUrlConventions"/> to use while parsing, specifically
            whether to recognize keys as segments or not.
            </summary>
            <exception cref="T:System.ArgumentNullException">Throws if the input value is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParser.BatchReferenceCallback">
            <summary>
            Gets or Sets a callback that returns a BatchReferenceSegment (to be used for $0 in batch)
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUriParser.FunctionParameterAliasCallback">
            <summary>
            Gets or sets a callback that returns the raw string value for an aliased function parameter.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataUnrecognizedPathException">
            <summary>
            The exception that is thrown when path parsing detects an unrecognized or unresolvable token in a path (which servers should treat as a 404).
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.ODataException">
            <summary>
            Exception type representing exceptions in the OData library.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.ODataException.#ctor">
            <summary>Creates a new instance of the <see cref="T:Microsoft.Data.OData.ODataException" /> class with default values.</summary>
            <remarks>
            The Message property is initialized to a system-supplied message
            that describes the error. This message takes into account the
            current system culture.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.ODataException.#ctor(System.String)">
            <summary>Creates a new instance of the <see cref="T:Microsoft.Data.OData.ODataException" /> class with an error message.</summary>
            <param name="message">The plain text error message for this exception.</param>
        </member>
        <member name="M:Microsoft.Data.OData.ODataException.#ctor(System.String,System.Exception)">
            <summary>Creates a new instance of the <see cref="T:Microsoft.Data.OData.ODataException" /> class with an error message and an inner exception.</summary>
            <param name="message">The plain text error message for this exception.</param>
            <param name="innerException">The inner exception that is the cause of this exception to be thrown.</param>
        </member>
        <member name="M:Microsoft.Data.OData.ODataException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>Creates a new instance of the <see cref="T:Microsoft.Data.OData.ODataException" /> class from the specified <see cref="T:System.Runtime.Serialization.SerializationInfo" /> and <see cref="T:System.Runtime.Serialization.StreamingContext" /> instances.</summary>
            <param name="info"> A <see cref="T:System.Runtime.Serialization.SerializationInfo" /> containing the information required to serialize the new <see cref="T:Microsoft.Data.OData.ODataException" />. </param>
            <param name="context"> A <see cref="T:System.Runtime.Serialization.StreamingContext" /> containing the source of the serialized stream associated with the new <see cref="T:Microsoft.Data.OData.ODataException" />. </param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUnrecognizedPathException.#ctor">
            <summary>
            Initializes a new instance of the ODataUnrecognizedPathException class.
            </summary>
            <remarks>
            The Message property is initialized to a system-supplied message
            that describes the error. This message takes into account the
            current system culture.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUnrecognizedPathException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the ODataUnrecognizedPathException class.
            </summary>
            <param name="message">Plain text error message for this exception.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUnrecognizedPathException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the DataServiceException class.
            </summary>
            <param name="message">Plain text error message for this exception.</param>
            <param name="innerException">Exception that caused this exception to be thrown.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUnrecognizedPathException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>Creates a new instance of the <see cref="T:Microsoft.Data.OData.ODataUnrecognizedPathException" /> class from the specified SerializationInfo and StreamingContext instances.</summary>
            <param name="info"> A SerializationInfo containing the information required to serialize the new ODataUnrecognizedPathException. </param>
            <param name="context"> A StreamingContext containing the source of the serialized stream associated with the new ODataUnrecognizedPathException. </param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataUrlConventions">
            <summary>
            Component for controlling what convention are used for generating URLs.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUrlConventions.DefaultInstance">
            <summary>Singleton instance of the default conventions.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUrlConventions.KeyAsSegmentInstance">
            <summary>Singleton instance of the key-as-segment conventions.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataUrlConventions.urlConvention">
            <summary>The url convention to use.</summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataUrlConventions.#ctor(Microsoft.Data.OData.Evaluation.UrlConvention)">
            <summary>
            Prevents a default instance of the <see cref="T:Microsoft.Data.OData.Query.ODataUrlConventions"/> class from being created.
            </summary>
            <param name="urlConvention">The url convention to use.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUrlConventions.Default">
            <summary>
            An instance of <see cref="T:Microsoft.Data.OData.Query.ODataUrlConventions"/> which uses default URL conventions. Specifically, this instance will produce keys that use parentheses like "Customers('ALFKI')".
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUrlConventions.KeyAsSegment">
            <summary>
            An instance of <see cref="T:Microsoft.Data.OData.Query.ODataUrlConventions"/> which uses key-as-segment URL conventions. Specifically, this instance will produce keys that use segments like "Customers/ALFKI".
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.ODataUrlConventions.UrlConvention">
            <summary>
            Gets the internal representation of the user-specified convention.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.OrderByBinder">
            <summary>
            Class to handle the binding of orderby tokens.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.OrderByBinder.bindMethod">
            <summary>
            Method to use to visit the token tree and bind the tokens recursively.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.OrderByBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Creates an OrderByBinder
            </summary>
            <param name="bindMethod">Method to use to visit the token tree and bind the tokens recursively.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.OrderByBinder.BindOrderBy(Microsoft.Data.OData.Query.BindingState,System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SyntacticAst.OrderByToken})">
            <summary>
            Processes the order-by tokens of a entityCollection (if any).
            </summary>
            <param name="state">State to use for binding.</param>
            <param name="orderByTokens">The order-by tokens to bind.</param>
            <returns>An OrderByClause representing the orderby statements expressed in the tokens.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.OrderByBinder.ProcessSingleOrderBy(Microsoft.Data.OData.Query.BindingState,Microsoft.Data.OData.Query.SemanticAst.OrderByClause,Microsoft.Data.OData.Query.SyntacticAst.OrderByToken)">
            <summary>
            Processes the specified order-by token.
            </summary>
            <param name="state">State to use for binding.</param>
            <param name="thenBy"> The next OrderBy node, or null if there is no orderby after this.</param>
            <param name="orderByToken">The order-by token to bind.</param>
            <returns>Returns the combined entityCollection including the ordering.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.PathParserModelUtils">
            <summary>
            Set of helpers and extensions to make it easier to convert the semantic path parser
            to using <see cref="T:Microsoft.Data.Edm.IEdmType"/> and the related classes.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.PathParserModelUtils.IsOpenType(Microsoft.Data.Edm.IEdmType)">
            <summary>
            Returns whether the given type is a structural type that is open.
            </summary>
            <param name="edmType">The type to check.</param>
            <returns>Whether the type is both structural and open.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.PathParserModelUtils.IsEntityOrEntityCollectionType(Microsoft.Data.Edm.IEdmType)">
            <summary>
            Returns whether or not the type is an entity or entity collection type.
            </summary>
            <param name="edmType">The type to check.</param>
            <returns>Whether or not the type is an entity or entity collection type.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.PathParserModelUtils.IsEntityOrEntityCollectionType(Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntityType@)">
            <summary>
            Returns whether or not the type is an entity or entity collection type.
            </summary>
            <param name="edmType">The type to check.</param>
            <param name="entityType">The entity type. If the given type was a collection, this will be the element type.</param>
            <returns>Whether or not the type is an entity or entity collection type.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.PathParserModelUtils.GetTargetEntitySet(Microsoft.Data.Edm.IEdmFunctionImport,Microsoft.Data.Edm.IEdmEntitySet,Microsoft.Data.Edm.IEdmModel)">
            <summary>
            Gets the target entity set for the given function import.
            </summary>
            <param name="functionImport">The function import.</param>
            <param name="sourceEntitySet">The source entity set.</param>
            <param name="model">The model.</param>
            <returns>The target entity set of the function import or null if it could not be determined.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.PathParserModelUtils.ThrowIfOpenComplexType(Microsoft.Data.Edm.IEdmType)">
            <summary>
            Throws an exception if the given type is an open complex type.
            </summary>
            <param name="edmType">The type to check.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.PathReverser">
            <summary>
            Reverse a Path
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenVisitor`1">
            <summary>
            Visitor interface for walking the Syntactic Tree.
            </summary>
            <typeparam name="T">Generic type produced by the visitor.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.SystemToken)">
            <summary>
            Visit an SystemToken
            </summary>
            <param name="tokenIn">The System token to visit</param>
            <returns>A user defined class</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken)">
            <summary>
            Visit an NonSystemToken
            </summary>
            <param name="tokenIn">The System token to visit</param>
            <returns>A user defined class</returns>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.PathReverser.childToken">
            <summary>
            any children of the root, will always be null on first call
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathReverser.#ctor">
            <summary>
            Build a PathReverser at the top level (with no child token)
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathReverser.#ctor(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Build a PathReverser based on a child token.
            </summary>
            <param name="childToken">the new child of this token</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathReverser.Visit(Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken)">
            <summary>
            Reverse a NonSystemToken
            </summary>
            <param name="tokenIn">the non system token to reverse</param>
            <returns>the reversed NonSystemToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathReverser.Visit(Microsoft.Data.OData.Query.SyntacticAst.SystemToken)">
            <summary>
            Reverse a SystemToken
            </summary>
            <param name="tokenIn">the SystemToken to reverse</param>
            <returns>the reversed SystemToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathReverser.BuildNextStep(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Build the next level PathReverser
            </summary>
            <param name="nextLevelToken">the next level token</param>
            <param name="nextChildToken">the next levels child token</param>
            <returns>the path token from the next level.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenEqualityComparer">
            <summary>
            Equality comparer for <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenEqualityComparer.Equals(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Determines whether the two paths are equivalent.
            </summary>
            <param name="first">The first path to compare.</param>
            <param name="second">The second path to compare.</param>
            <returns>Whether the two paths are equivalent.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenEqualityComparer.GetHashCode(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Returns a hash code for the given path.
            </summary>
            <param name="path">The path to hash.</param>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenEqualityComparer.ToHashableString(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Converts the token to a string that is sufficiently unique to be hashed or compared.
            </summary>
            <param name="token">The path token to convert to a string.</param>
            <returns>A string representing the path.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenVisitor">
            <summary>
            Visitor interface for walking the Syntactic Tree.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenVisitor.Visit(Microsoft.Data.OData.Query.SyntacticAst.SystemToken)">
            <summary>
            Visit an SystemToken
            </summary>
            <param name="tokenIn">The System token to visit</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentTokenVisitor.Visit(Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken)">
            <summary>
            Visit an NonSystemToken
            </summary>
            <param name="tokenIn">The System token to visit</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.RangeVariableBinder">
            <summary>
            Class that knows how to bind ParameterQueryTokens.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.RangeVariableBinder.BindRangeVariableToken(Microsoft.Data.OData.Query.SyntacticAst.RangeVariableToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Binds a parameter token.
            </summary>
            <param name="rangeVariableToken">The parameter token to bind.</param>
            <param name="state">The state of metadata binding.</param>
            <returns>The bound query node.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.EndPathBinder">
            <summary>
            Class that knows how to bind an end path token, which could be several things.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.EndPathBinder.bind">
            <summary>
            Method to bind the value of a key.
            TODO : Make it of return type SingleValueQueryNode.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.EndPathBinder.functionCallBinder">
            <summary>
            The function call binder to use to bind this end path to a function if necessary.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.EndPathBinder.#ctor(Microsoft.Data.OData.Query.MetadataBinder.QueryTokenVisitor)">
            <summary>
            Constructs a EndPathBinder object using the given function to bind parent token.
            </summary>
            <param name="bindMethod">Method to bind the EndPathToken's parent, if there is one.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.EndPathBinder.GeneratePropertyAccessQueryForOpenType(Microsoft.Data.OData.Query.SyntacticAst.EndPathToken,Microsoft.Data.OData.Query.SemanticAst.SingleValueNode)">
            <summary>
            This method generates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.SingleValueOpenPropertyAccessNode"/> for properties of open type
            </summary>
            <param name="endPathToken">EndPathToken to bind into an open property node.</param>
            <param name="parentNode">Parent node of this open property</param>
            <returns>Will return a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.SingleValueOpenPropertyAccessNode"/> when open types are supported</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.EndPathBinder.GeneratePropertyAccessQueryNode(Microsoft.Data.OData.Query.SemanticAst.SingleValueNode,Microsoft.Data.Edm.IEdmProperty)">
            <summary>
            Generates a bound query node representing an <see cref="T:Microsoft.Data.Edm.IEdmProperty"/> given an already semantically bound parent node.
            </summary>
            <param name="parentNode">The semantically bound source node of this end path token</param>
            <param name="property">The <see cref="T:Microsoft.Data.Edm.IEdmProperty"/> that will be bound to this node. Must not be primitive collection</param>
            <returns>QueryNode bound to this property.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.EndPathBinder.CreateParentFromImplicitRangeVariable(Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Constructs parent node from binding state
            </summary>
            <param name="state">Current binding state</param>
            <returns>The parent node.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.EndPathBinder.BindEndPath(Microsoft.Data.OData.Query.SyntacticAst.EndPathToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Binds a an end path token into a PropertyAccessToken, OpenPropertyToken, or FunctionCallToken.
            </summary>
            <param name="endPathToken">The property access token to bind.</param>
            <param name="state">State of the binding algorithm.</param>
            <returns>A Query node representing this endpath token, bound to metadata.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.EndPathBinder.DetermineParentNode(Microsoft.Data.OData.Query.SyntacticAst.EndPathToken,Microsoft.Data.OData.Query.BindingState)">
            <summary>
            Determines the parent node. If the token has a parent, that token is bound. If not, then we
            use the implicit parameter from the BindingState as the parent node.
            </summary>
            <param name="segmentToken">Token to determine the parent node for.</param>
            <param name="state">Current state of binding.</param>
            <returns>A SingleValueQueryNode that is the parent node of the <paramref name="segmentToken"/>.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.RequestTargetKind">
            <summary>
            Provides values to describe the kind of thing targetted by a
            client request.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.Nothing">
            <summary>Nothing specific is being requested.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.ServiceDirectory">
            <summary>A top-level directory of service capabilities.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.Resource">
            <summary>Entity Resource is requested - it can be a collection or a single value.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.ComplexObject">
            <summary>A single complex value is requested (eg: an Address).</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.Primitive">
            <summary>A single value is requested (eg: a Picture property).</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.PrimitiveValue">
            <summary>A single value is requested (eg: the raw stream of a Picture).</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.Metadata">
            <summary>System metadata.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.VoidOperation">
            <summary>A data-service-defined operation that doesn't return anything.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.Batch">
            <summary>The request is a batch request.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.OpenProperty">
            <summary>An open property is requested.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.OpenPropertyValue">
            <summary>An open property value is requested.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.MediaResource">
            <summary>A stream property value is requested.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.RequestTargetKind.Collection">
            <summary>A single collection of primitive or complex values is requested.</summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ODataPathParser">
            <summary>
            Semantic parser for the path of the request URI.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataPathParser.ContentIdRegex">
            <summary>
            regex pattern to match a contentID
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataPathParser.segmentQueue">
            <summary>
            The queue of segments remaining to be parsed. Should be populated and cleared out on each pass through the main path parsing loop.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataPathParser.parsedSegments">
            <summary>
            The collection of segments that have been parsed so far.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataPathParser.configuration">
            <summary>
            The parser's current configuration.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ODataPathParser.nextSegmentMustReferToMetadata">
            <summary>
            Indicates that the next segment encountered must refer to something in 'metadata-space' and cannot be a key expression.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.#ctor(Microsoft.Data.OData.Query.ODataUriParserConfiguration)">
            <summary>
            Initializes a new instance of <see cref="T:Microsoft.Data.OData.Query.ODataPathParser"/>.
            </summary>
            <param name="configuration">The parser's current configuration.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.ExtractSegmentIdentifierAndParenthesisExpression(System.String,System.String@,System.String@)">
            <summary>
            Extracts the segment identifier and, if there are parenthesis in the segment, the expression in the parenthesis.
            Will throw if identifier is not found or if the parenthesis expression is malformed.
            </summary>
            <remarks>Internal only so it can be called from tests. Should not be used outside <see cref="T:Microsoft.Data.OData.Query.ODataPathParser"/>.</remarks>
            <param name="segmentText">The segment text.</param>
            <param name="identifier">The identifier that was found.</param>
            <param name="parenthesisExpression">The query portion that was found. Will be null after the call if no query portion was present.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.ParsePath(System.Collections.Generic.ICollection{System.String})">
            <summary>Creates an <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/> array for the given <paramref name="segments"/>.</summary>
            <param name="segments">Segments to process.</param>
            <returns>Segment information describing the given <paramref name="segments"/>.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryBindingParametersAndMatchingOperation(System.String,System.String,Microsoft.Data.Edm.IEdmType,Microsoft.Data.OData.Query.ODataUriParserConfiguration,System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter}@,Microsoft.Data.Edm.IEdmFunctionImport@)">
            <summary>
            Tries to find a single matching function import for the given identifier, parametes, and binding type.
            </summary>
            <param name="identifier">The identifier from the URI.</param>
            <param name="parenthesisExpression">The parenthesis expression contianing parameters, if any.</param>
            <param name="bindingType">The current binding type or null if there isn't one.</param>
            <param name="configuration">The configuration of the parser.</param>
            <param name="parsedParameters">The parsed parameters from the parenthesis expression.</param>
            <param name="matchingFunctionImport">The single matching function import if one could be determined.</param>
            <returns>Whether or not a matching function import could be found.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TargetKindFromType(Microsoft.Data.Edm.IEdmType)">
            <summary>Determines a matching target kind from the specified type.</summary>
            <param name="type">ResourceType of element to get kind for.</param>
            <returns>An appropriate <see cref="T:Microsoft.Data.OData.Query.RequestTargetKind"/> for the specified <paramref name="type"/>.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.CheckSingleResult(System.Boolean,System.String)">
            <summary>
            Checks for single result, otherwise throws.
            </summary>
            <param name="isSingleResult">indicates whether the current result is single result or not.</param>
            <param name="identifier">current segment identifier.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryGetNextSegmentText(System.String@)">
            <summary>
            Tries to get the next segment's text to parse.
            </summary>
            <param name="segmentText">The segment text to parse.</param>
            <returns>Whether there was a next segment.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryGetNextSegmentText(System.Boolean,System.String@)">
            <summary>
            Tries to get the next segment's text to parse. Should not be called except by the other overload which does not have the extra parameter.
            </summary>
            <param name="previousSegmentWasEscapeMarker">Whether the previous segment was an escape marker.</param>
            <param name="segmentText">The segment text to parse.</param>
            <returns>Whether there was a next segment.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryHandleAsKeySegment(System.String)">
            <summary>
            Tries to handle the given text as a key if the URL conventions support it and it was not preceeded by an escape segment.
            </summary>
            <param name="segmentText">The text which might be a key.</param>
            <returns>Whether or not the text was handled as a key.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.ThrowIfMustBeLeafSegment(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Throws if the given segment must be a leaf, as a later segment is being created.
            </summary>
            <param name="previous">The previous segment which may need to be a leaf.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryCreateCountSegment(System.String)">
            <summary>
            Try to handle the segment as $count.
            </summary>
            <param name="segmentText">The segment text to handle.</param>
            <returns>Whether the segment was $count.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryCreateLinksSegment(System.String)">
            <summary>
            Tries to handle the segment as $links. If it is $links, then the rest of the path will be parsed/validated in this call.
            </summary>
            <param name="text">The text of the segment.</param>
            <returns>Whether the text was $links.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryBindKeyFromParentheses(System.String)">
            <summary>
            Tries to bind a key from the parenthetical section of a segment.
            </summary>
            <param name="parenthesesSection">The section of the segment inside parentheses, or null if there was none.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryCreateValueSegment(System.String)">
            <summary>
            Try to handle the segment as $value.
            </summary>
            <param name="text">The segment text.</param>
            <returns>Whether the segment was $value.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.CreateOpenPropertySegment(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,System.String,System.String)">
            <summary>
            Creates a new segment for an open property.
            </summary>
            <param name="previous">previous segment info.</param>
            <param name="identifier">name of the segment.</param>
            <param name="parenthesisExpression">whether this segment has a query portion or not.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.CreateNamedStreamSegment(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,Microsoft.Data.Edm.IEdmProperty)">
            <summary>
            Creates a named stream segment
            </summary>
            <param name="previous">previous segment info.</param>
            <param name="streamProperty">stream property to create the segment for.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.CreateFirstSegment(System.String)">
            <summary>Creates the first <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/> for a request.</summary>
            <param name="segmentText">The text of the segment.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryCreateSegmentForServiceOperation(System.String,System.String)">
            <summary>
            Tries to parse the segment as a service operation
            </summary>
            <param name="identifier">The identifier for the segment.</param>
            <param name="queryPortion">The query portion</param>
            <returns>Whether or not the identifier referred to a service operation.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryCreateSegmentForOperation(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,System.String,System.String)">
            <summary>
            Tries to parse a segment as a function or action.
            </summary>
            <param name="previousSegment">The previous segment before the operation to be invoked.</param>
            <param name="identifier">The name of the segment</param>
            <param name="parenthesisExpression">The query portion</param>
            <returns>Whether or not the identifier referred to an action.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.CreateNextSegment(System.String)">
            <summary>
            Creates the next segment.
            </summary>
            <param name="text">The text for the next segment.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryBindProperty(System.String,Microsoft.Data.Edm.IEdmProperty@)">
            <summary>
            Tries to bind the identifier as a property.
            </summary>
            <param name="identifier">The identifier to bind.</param>
            <param name="projectedProperty">The property, if one was found.</param>
            <returns>Whether a property matching the identifier was found.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.TryCreateTypeNameSegment(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,System.String,System.String)">
            <summary>
            Tries to create a type name segment if the given identifier refers to a known type.
            </summary>
            <param name="previous">previous segment info.</param>
            <param name="identifier">The current raw segment identifier being interpreted.</param>
            <param name="parenthesisExpression">Parenthesis expression of this segment.</param>
            <returns>Whether or not a type segment was created for the identifier.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ODataPathParser.CreatePropertySegment(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,Microsoft.Data.Edm.IEdmProperty,System.String)">
            <summary>
            Creates a property segment
            </summary>
            <param name="previous">previous segment info.</param>
            <param name="property">property to create the segment for.</param>
            <param name="queryPortion">query portion for this segment, if specified.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SegmentKeyHandler">
            <summary>
            Component for handling key expressions in URIs.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentKeyHandler.TryCreateKeySegmentFromParentheses(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,System.String,Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment@)">
            <summary>Tries to create a key segment for the given filter if it is non empty.</summary>
            <param name="previous">Segment on which to compose.</param>
            <param name="parenthesisExpression">Parenthesis expression of segment.</param>
            <param name="keySegment">The key segment that was created if the key was non-empty.</param>
            <returns>Whether the key was non-empty.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentKeyHandler.TryHandleSegmentAsKey(System.String,Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,Microsoft.Data.OData.Evaluation.UrlConvention,Microsoft.Data.OData.Query.SemanticAst.KeySegment@)">
            <summary>
            Tries to handle the current segment as a key property value.
            </summary>
            <param name="segmentText">The segment text.</param>
            <param name="previous">The previous segment.</param>
            <param name="urlConvention">The current url convention for the server.</param>
            <param name="keySegment">The key segment that was created if the segment could be interpreted as a key.</param>
            <returns>Whether or not the segment was interpreted as a key.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentKeyHandler.IsSystemSegment(System.String)">
            <summary>
            Determines whether the segment text is a system-reserved identifier like $'count'.
            </summary>
            <param name="segmentText">The segment text.</param>
            <returns>
              <c>true</c> if the segment text is a system-reserved identifier like $'count'; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SegmentKeyHandler.CreateKeySegment(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment,Microsoft.Data.OData.Query.SegmentArgumentParser)">
            <summary>
            Parses the key properties based on the segment's target type, then creates a new segment for the key.
            </summary>
            <param name="segment">The segment to apply the key to.</param>
            <param name="key">The key to apply.</param>
            <returns>The newly created key segment.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.SelectPathSegmentTokenBinder">
            <summary>
            Builds segments from tokens within $select.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPathSegmentTokenBinder.ConvertNonTypeTokenToSegment(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmEntityType)">
            <summary>
            Build a segment from a token.
            </summary>
            <param name="tokenIn">the token to bind</param>
            <param name="model">The model.</param>
            <param name="entityType">the entity type of the current scope based on type segments.</param>
            <returns>The segment created from the token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPathSegmentTokenBinder.TryBindAsWildcard(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.OData.Query.SemanticAst.SelectItem@)">
            <summary>
            Build a wildcard selection item
            </summary>
            <param name="tokenIn">the token to bind to a wildcard</param>
            <param name="model">the model to search for this wildcard</param>
            <param name="item">the new wildcard selection item, if we found one</param>
            <returns>true if we successfully bound to a wildcard, false otherwise</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPathSegmentTokenBinder.TryBindAsOperation(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment@)">
            <summary>
            Tries to bind a given token as an Operation.
            </summary>
            <param name="pathToken">Token to bind.</param>
            <param name="model">The model.</param>
            <param name="entityType">the current entity type to use as the binding type when looking for operations.</param>
            <param name="segment">Bound segment if the token was bound to an operation successfully, or null.</param>
            <returns>True if the token was bound successfully, or false otherwise.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPathSegmentTokenBinder.TryBindAsDeclaredProperty(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment@)">
            <summary>
            Tries to bind a given token as an a declared structural or navigation property.
            </summary>
            <param name="tokenIn">Token to bind.</param>
            <param name="entityType">the entity type to search for this property</param>
            <param name="segment">Bound segment if the token was bound to a declared property successfully, or null.</param>
            <returns>True if the token was bound successfully, or false otherwise.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SelectExpandTermParserFactory">
            <summary>
            Build an ISelectExpandTermParser based on settings.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParserFactory.Create(System.String,Microsoft.Data.OData.Query.ODataUriParserSettings)">
            <summary>
            Build a new ISelectExpandTermParser, either with expand options or without, based on the global settings.
            </summary>
            <param name="clauseToParse">the select or expand text to parse</param>
            <param name="settings">pointer to the top level object</param>
            <returns>A new ISelectExpandTermParser</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SelectExpandTermParserFactory.Create(System.String)">
            <summary>
            Build a new ISelectExpandTermParser with default settings
            </summary>
            <param name="clauseToParse">the clause to parse</param>
            <returns>A NonOptionSelectExpandTermParser</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.SelectExpandTreeFinisher">
            <summary>
            Polish a combined select expand tree.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.SelectExpandTreeFinisher.PruneSelectExpandTree(Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause)">
            <summary>
            Prune off any unneccessary expands
            </summary>
            <param name="clauseToPrune">the clause to prune</param>
            <returns>a pruned tree.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor">
            <summary>
            Visit a Select property and use it to decorate a SelectExpand Tree
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.model">
            <summary>
            The model used for binding.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.maxDepth">
            <summary>
            the maximum recursive depth.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.expandClauseToDecorate">
            <summary>
            The expand tree to decorate.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.entityType">
            <summary>
            The entity type for this level of the select
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.#ctor(Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmEntityType,System.Int32,Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause)">
            <summary>
            Build a property visitor to visit the select tree and decorate a SelectExpandClause
            </summary>
            <param name="model">The model used for binding.</param>
            <param name="entityType">The entity type that the $select is being applied to.</param>
            <param name="maxDepth">the maximum recursive depth.</param>
            <param name="expandClauseToDecorate">The already built expand clause to decorate</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.Visit(Microsoft.Data.OData.Query.SyntacticAst.SystemToken)">
            <summary>
            Visit a System Token
            </summary>
            <param name="tokenIn">the system token to visit</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.Visit(Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken)">
            <summary>
            Visit a NonSystemToken
            </summary>
            <param name="tokenIn">the non sytem token to visit</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.ProcessTokenAsPath(Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken)">
            <summary>
            process a nonsystemtoken as a path, following any type segments if necessary
            </summary>
            <param name="tokenIn">the token to process</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.SelectPropertyVisitor.DecoratedExpandClause">
            <summary>
            The expand tree that we're decorating
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.SelectTreeNormalizer">
            <summary>
            Translate a select tree into the right format to be used with an expand tree.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectTreeNormalizer.NormalizeSelectTree(Microsoft.Data.OData.Query.SyntacticAst.SelectToken)">
            <summary>
            Normalize a SelectToken into something that can be used to trim an expand tree.
            </summary>
            <param name="treeToNormalize">The select token to normalize</param>
            <returns>Normalized SelectToken</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.AllSelection">
            <summary>
            Class that represents a selection of all properties and functions on an entity.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.Selection">
            <summary>
            Class that specifies what properties and functions have been specified to be selected for a given entity at the current level of the expand tree.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.AllSelection.Instance">
            <summary>
            Singleton instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.AllSelection"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.AllSelection.#ctor">
            <summary>
            Creates the singleton instance of this class.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment">
            <summary>
            A segment representing an alias to another url in a batch.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.edmType">
            <summary>
            The <see cref="T:Microsoft.Data.Edm.IEdmType"/> of the resource that this placeholder <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment"/> represents.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.entitySet">
            <summary>
            The entity set from the alias.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.contentId">
            <summary>
            The contentId that this alias referrs to.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.#ctor(System.String,Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a BatchReferenceSegment
            </summary>
            <param name="contentId">The contentId of this segment is referring to</param>
            <param name="edmType">The <see cref="T:Microsoft.Data.Edm.IEdmType"/> of the resource that this placeholder <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment"/> represents.</param>
            <param name="entitySet">The resulting entity set</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input edmType of contentID is null.</exception>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the contentID is not in the right format.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment"/> into something else.
            </summary>
            <typeparam name="T">Type that the translator will return after translating this segment.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment"/> using an implementation of the <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/> interface.
            </summary>
            <param name="handler">An implementation of the Handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input Handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of the resource that this placeholder <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment"/> represents.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.EntitySet">
            <summary>
            Gets the resulting entity set for this batch reference segment.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.BatchReferenceSegment.ContentId">
            <summary>
            Gets the contentId this alias is referrring to
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.BatchSegment">
            <summary>
            A segment representing $batch
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.BatchSegment.Instance">
            <summary>
            Gets the singleton instance of the batch segment.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchSegment.#ctor">
            <summary>
            Build a segment to represent $batch.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchSegment"/> into something else using an implementation of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after translating this segment.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchSegment"/> using an implementation of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the Handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.BatchSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">The other segment to check.</param>
            <returns>True if the other segment is equivalent to this one.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.BatchSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.BatchSegment"/>, which is always null.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ContainerQualifiedWildcardSelectItem">
            <summary>
            Class to represent the selection of all the actions and functions in a specified container.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.SelectItem">
            <summary>
            An item that has been selected by the query at the current level of the tree.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ContainerQualifiedWildcardSelectItem.container">
            <summary>
            The <see cref="T:Microsoft.Data.Edm.IEdmEntityContainer"/> whose actions and functions should be selected.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ContainerQualifiedWildcardSelectItem.#ctor(Microsoft.Data.Edm.IEdmEntityContainer)">
            <summary>
            Creates an instance of this class with the specified <paramref name="container"/>.
            </summary>
            <param name="container">The <see cref="T:Microsoft.Data.Edm.IEdmEntityContainer"/> whose actions and functions should be selected.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input container is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ContainerQualifiedWildcardSelectItem.Container">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmEntityContainer"/> whose actions and functions should be selected.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.CountSegment">
            <summary>
            A segment representing $count in a path
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CountSegment.Instance">
            <summary>
            Return the singleton instance of Count
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CountSegment.#ctor">
            <summary>
            Build a segment representing $count
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CountSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.CountSegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CountSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.CountSegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CountSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CountSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.CountSegment"/>, which is always Edm.Int32.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.EntitySetExpressionResolver">
            <summary>
            Class that knows how to resolve an IEdmExpression to find its associated EntitySet.
            This functionality is needed to determine what a EntitySets a FunctionImport applies to.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.EntitySetExpressionResolver.ResolveEntitySetFromExpression(Microsoft.Data.Edm.Expressions.IEdmExpression)">
            <summary>
            Resolves an IEdmExpression to an IEdmEntitySet.
            </summary>
            <param name="expression">Expression to resolve.</param>
            <returns>The resolved EntitySet.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment">
            <summary>
            A segment representing an EntitySet in a path.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.entitySet">
            <summary>
            The entity set represented by this segment.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.type">
            <summary>
            Type of the entities in the set represented by this segment.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.#ctor(Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a segment representing an entity set
            </summary>
            <param name="entitySet">The entity set represented by this segment.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input entitySet is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate an <see cref="T:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment"/> into another type using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle an <see cref="T:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment"/> using the an instance of the <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.EntitySet">
            <summary>
            Gets the entity set represented by this segment.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.EntitySetSegment"/>.
            This will always be an <see cref="T:Microsoft.Data.Edm.IEdmCollectionType"/> for the <see cref="T:Microsoft.Data.Edm.IEdmEntityType"/> that this set contains.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem">
            <summary>
            This represents one level of expansion for a particular expansion tree.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.pathToNavigationProperty">
            <summary>
            The Path for this expand level.
            This path includes zero or more type segments followed by exactly one Navigation Property.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.entitySet">
            <summary>
            The entity set for this expansion level.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.filterOption">
            <summary>
            The filter expand option for this expandItem. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.orderByOption">
            <summary>
            The orderby expand option for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.topOption">
            <summary>
            the top expand option for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.skipOption">
            <summary>
            The skip option for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.inlineCountOption">
            <summary>
            The inlinecount option for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.selectAndExpand">
            <summary>
            The select that applies to this level, and any sub expand levels below this one.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.#ctor(Microsoft.Data.OData.Query.SemanticAst.ODataExpandPath,Microsoft.Data.Edm.IEdmEntitySet,Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause)">
            <summary>
            Create an Expand item using a nav prop, its entity set and a SelectExpandClause
            </summary>
            <param name="pathToNavigationProperty">the path to the navigation property for this expand item, including any type segments</param>
            <param name="entitySet">the entity set for this ExpandItem</param>
            <param name="selectExpandOption">This level select and any sub expands for this expand item.</param>
            <exception cref="T:System.ArgumentNullException">Throws if input pathToNavigationProperty is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.#ctor(Microsoft.Data.OData.Query.SemanticAst.ODataExpandPath,Microsoft.Data.Edm.IEdmEntitySet,Microsoft.Data.OData.Query.SemanticAst.FilterClause,Microsoft.Data.OData.Query.SemanticAst.OrderByClause,System.Nullable{System.Int64},System.Nullable{System.Int64},System.Nullable{Microsoft.Data.OData.Query.InlineCountKind},Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause)">
            <summary>
            Create an expand item, using a navigationProperty, its entity set, and any expand options.
            </summary>
            <param name="pathToNavigationProperty">the path to the navigation property for this expand item, including any type segments</param>
            <param name="entitySet">the entity set for this expand level.</param>
            <param name="filterOption">A filter clause for this expand (can be null)</param>
            <param name="orderByOption">An Orderby clause for this expand (can be null)</param>
            <param name="topOption">A top clause for this expand (can be null)</param>
            <param name="skipOption">A skip clause for this expand (can be null)</param>
            <param name="inlineCountOption">An Inlinecount clause for this expand (can be null)</param>
            <param name="selectAndExpand">This level select and any sub expands for this expand item.</param>
            <exception cref="T:System.ArgumentNullException">Throws if input pathToNavigationProperty is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.PathToNavigationProperty">
            <summary>
            Gets the Path for this expand level.
            This path includes zero or more type segments followed by exactly one Navigation Property.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.EntitySet">
            <summary>
            Gets the EntitySet for this level.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.SelectAndExpand">
            <summary>
            The select and expand clause for this expanded navigation.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.FilterOption">
            <summary>
            The filter clause for this expand item
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.OrderByOption">
            <summary>
            Gets the orderby clause for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.TopOption">
            <summary>
            Gets the top clause for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.SkipOption">
            <summary>
            Gets the skip clause for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem.InlineCountOption">
            <summary>
            Gets the inlinecount clause for this expand item. Can be null if not specified(and will always be null in NonOptionMode).
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.Expansion">
            <summary>
            A list of all expanded items at the next level down.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.Expansion.expandItems">
            <summary>
            The list of all expanded items at the next level down.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.Expansion.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.ExpandedNavigationSelectItem})">
            <summary>
            Constructor
            </summary>
            <param name="expandItems">The list of all expanded items at the next level down.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.Expansion.ExpandItems">
            <summary>
            The list of all expanded items at the next level down.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.KeySegment">
            <summary>
            A segment representing a key lookup in a path.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.KeySegment.keys">
            <summary>
            The set of key property names and the values to be used in searching for the given item.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.KeySegment.edmType">
            <summary>
            The type of the item this key returns.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.KeySegment.entitySet">
            <summary>
            The entity set that this key is used to search.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.KeySegment.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}},Microsoft.Data.Edm.IEdmEntityType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Construct a Segment that represents a key lookup.
            </summary>
            <param name="keys">The set of key property names and the values to be used in searching for the given item.</param>
            <param name="edmType">The type of the item this key returns.</param>
            <param name="entitySet">The entity set that this key is used to search.</param>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input entity set is not related to the input type.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.KeySegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.KeySegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.KeySegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.KeySegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.KeySegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.KeySegment.Keys">
            <summary>
            Gets the set of key property names and the values to be used in searching for the given item.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.KeySegment.EdmType">
            <summary>
            Gets the type of the item this key returns
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.KeySegment.EntitySet">
            <summary>
            Gets the entity set that this key is used to search.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment">
            <summary>
            A segment representing $metadata in a path.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment.Instance">
            <summary>
            Gets the singleton instance of MetadataSegment
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment.#ctor">
            <summary>
            Build a segment to represent $metadata
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the translator interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.MetadataSegment"/>, which is always null.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ExpansionsOnly">
            <summary>
            Class that represents a selecting none of the properties or functions at this level, but there are still relevant expansions in this subtree.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ExpansionsOnly.Instance">
            <summary>
            Get the singleton instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ExpansionsOnly"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ExpansionsOnly.#ctor">
            <summary>
            Creates the singleton instance of this class.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment">
            <summary>
            A segment representing a navigation property
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.navigationProperty">
            <summary>
            The navigation property this segment represents.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.#ctor(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a segment representing a navigation property.
            </summary>
            <param name="navigationProperty">The navigation property this segment represents.</param>
            <param name="entitySet">The set of the entities targetted by this navigation property. This can be null.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input navigationProperty is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment"/>s.
            </summary>
            <param name="handler">An implementation of the translator interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Checks if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.NavigationProperty">
            <summary>
            Gets the navigation property represented by this NavigationPropertySegment.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.EntitySet">
            <summary>
            Gets the set of the entities targetted by this Navigation Property.
            This can be null.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment"/>.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ODataSelectPath">
            <summary>
            A specific type of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataPath"/> which can only contain instances of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.TypeSegment"/>, <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NavigationPropertySegment"/>,
            <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PropertySegment"/>, <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OperationSegment"/>, or <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataSelectPath.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment})">
            <summary>
            Create an ODataSelectPath
            </summary>
            <param name="segments">The list of segments that makes up this path.</param>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the list of segments doesn't match the requirements for a path in $select</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataSelectPath.#ctor(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment[])">
            <summary>
            Create an ODataPath object based on a single segment
            </summary>
            <param name="segments">The list of segments that makes up this path.</param>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the list of segments doesn't match the requirements for a path in $select</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataSelectPath.ValidatePath">
            <summary>
            Ensure that the segments given to us are valid select segments.
            </summary>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the list of segments doesn't match the requirements for a path in $select</exception>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment">
            <summary>
            A segment representing and open property
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment.propertyName">
            <summary>
            The name of this open property.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment.#ctor(System.String)">
            <summary>
            Build a segment to represent an open property.
            </summary>
            <param name="propertyName">The name of this open property</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment.PropertyName">
            <summary>
            Gets the name of this open property.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OpenPropertySegment"/>, which is always null.
            The type of open properties is unknown at this time.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter">
            <summary>
            Represents a named parameter value for invoking an operation in an OData path.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter.#ctor(System.String,System.Object)">
            <summary>
            Initializes a new instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter"/>.
            </summary>
            <param name="name">The name of the parameter. Cannot be null or empty.</param>
            <param name="value">The value of the parameter.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter.Name">
            <summary>
            The name of the parameter.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter.Value">
            <summary>
            The parameter value.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.PathSelectItem">
            <summary>
            Class to represent the selection of a specific path.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.PathSelectItem.selectedPath">
            <summary>
            The selected path.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PathSelectItem.#ctor(Microsoft.Data.OData.Query.SemanticAst.ODataSelectPath)">
            <summary>
            Constructs a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.SelectItem"/> to indicate that a specific path is selected.
            </summary>
            <param name="selectedPath">The selected path.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input selectedPath is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.PathSelectItem.SelectedPath">
            <summary>
            Gets the selected path.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.PartialSelection">
            <summary>
            Class that represents a partial subset of items on a given type that have been selected at this level of the select expand tree.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.PartialSelection.selectedItems">
            <summary>
            The subset of items that has been selected at this level.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PartialSelection.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.SelectItem})">
            <summary>
            Creates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PartialSelection"/> with the specified set of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.SelectItem"/>.
            </summary>
            <param name="selectedItems">The list of items on the that has been selected.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.PartialSelection.SelectedItems">
            <summary>
            The subset of items that has been selected at this level.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.PropertySegment">
            <summary>
            A segment representing a structural property
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.PropertySegment.property">
            <summary>
            The structural property referred to by this segment
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PropertySegment.#ctor(Microsoft.Data.Edm.IEdmStructuralProperty)">
            <summary>
            Build a segment based on a structural property
            </summary>
            <param name="property">The structural property that this segment represents.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input property is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PropertySegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PropertySegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>/&gt;.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PropertySegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PropertySegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.PropertySegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.PropertySegment.Property">
            <summary>
            Gets the structural property that this segment represents.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.PropertySegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PropertySegment"/>.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause">
            <summary>
            Class representing the combined semantic meaning of any select or expand clauses in the uri.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.expansion">
            <summary>
            Mapping that contains the set of navigation properties for the associated entity that should be expanded, and respective details about the expansions.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.usedInternalLegacyConsturctor">
            <summary>
            Internal flag indicating that this clause was built using the legacy Selection and Expansion classes. In this case, we must
            call ComputeFinalSelectedItems() before handing out the object publically.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.selection">
            <summary>
            The <see cref="P:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.Selection"/> object that describes what properties and functions should be selected from the associated <see cref="T:Microsoft.Data.Edm.IEdmEntityType"/> at this level.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.selectedItems">
            <summary>
            The selected properties and operations.
            </summary>
            <remarks>This list includes expanded navigations properties, which may have additional nested selections and expansions.</remarks>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.allSelected">
            <summary>
            Gets a flag indicating that everything at this level has been selected.
            </summary>
            <remarks>
            If true, then all structural properties, bound actions and functions, and all navigations in the SelectedItems list have been selected.
            </remarks>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.#ctor(System.Collections.Generic.ICollection{Microsoft.Data.OData.Query.SemanticAst.SelectItem},System.Boolean)">
            <summary>
            Constructs a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause"/> from the given parameters.
            </summary>
            <param name="selectedItems">The selected properties and operations. This list should include any expanded navigation properties.</param>
            <param name="allSelected">Flag indicating if all items have been selected at this level.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.#ctor(Microsoft.Data.OData.Query.SemanticAst.Selection,Microsoft.Data.OData.Query.SemanticAst.Expansion)">
            <summary>
            Constructs a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause"/> from the given parameters.
            </summary>
            <param name="selection">The <see cref="P:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.Selection"/> object that describes what properties and functions should be selected from the associated <see cref="T:Microsoft.Data.Edm.IEdmEntityType"/>.</param>
            <param name="expansion">Mapping that contains the set of navigation properties for the associated entity that should be expanded, and respective details about the expansions. </param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.AddSelectItem(Microsoft.Data.OData.Query.SemanticAst.SelectItem)">
            <summary>
            Add a selection item to the current selection.
            </summary>
            <param name="itemToAdd">the new selection item to add</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.SetAllSelectionRecursively">
            <summary>
            Switch to an AllSelection at this level and recursively at all levels below this one.
            This is non-reversable because once everything is selected, selecting a specific property or other item is redundant.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.InitializeEmptySelection">
            <summary>
            Initializes the selection for this clause as ExpansionsOnly if it is not already partial.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.ComputeFinalSelectedItems">
            <summary>
            Computes the list of SelectItems that will be publically availible to consumers.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.SelectedItems">
            <summary>
            Gets the selected properties and operations.
            </summary>
            <remarks>This list includes expanded navigations properties, which may have additional nested selections and expansions.</remarks>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.AllSelected">
            <summary>
            Gets a flag indicating that everything at this level has been selected.
            </summary>
            <remarks>
            If true, then all structural properties, bound actions and functions, and all navigations in the SelectedItems list have been selected.
            </remarks>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.Selection">
            <summary>
            Gets the <see cref="P:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.Selection"/> object that describes what properties and functions should be selected from the associated <see cref="T:Microsoft.Data.Edm.IEdmEntityType"/>.
             
            TODO : Note that this is a legacy internal concept.
            At the last minute we changed the public API but chose not to change how the implementation work to manage risk.
            We should clean this up and remove this property.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause.Expansion">
            <summary>
            Mapping that contains the set of navigation properties for the associated entity that should be expanded, and respective details about the expansions.
             
            TODO : Note that this is a legacy internal concept.
            At the last minute we changed the public API but chose not to change how the implementation work to manage risk.
            We should clean this up and remove this property.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode">
            <summary>
            Node representing a type segment that casts an entity collection node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.source">
            <summary>
            The entity collection node that we're casting.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.edmTypeReference">
            <summary>
            The target type that we're casting our entity collection node to.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.collectionTypeReference">
            <summary>
            the type of the collection returned by this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.entitySet">
            <summary>
            The EntitySet that our collection comes from.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.#ctor(Microsoft.Data.OData.Query.SemanticAst.EntityCollectionNode,Microsoft.Data.Edm.IEdmEntityType)">
            <summary>
            Create a CollectionCastNode with the given source node and the given target type.
            </summary>
            <param name="source">Parent <see cref="T:Microsoft.Data.OData.Query.SemanticAst.CollectionNode"/> that is being cast.</param>
            <param name="entityType">Type to cast to.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input source or entityType are null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walk a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.Source">
            <summary>
            Gets the entity collection node that we're casting.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.ItemType">
            <summary>
            Gets the type that we're casting all items in this collection to.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.CollectionType">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.EntityItemType">
            <summary>
            Gets the entity type that we're casting all items in this collection to.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.EntitySet">
            <summary>
            Gets the EntitySet that our collection comes from.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode">
            <summary>
            Query node representing a collection navigation property.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.navigationProperty">
            <summary>
            The navigation property of the single entity this node represents.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.edmEntityTypeReference">
            <summary>
            The resouce type of a single entity item from the collection represented by this node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.collectionTypeReference">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.source">
            <summary>
            The parent node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.entitySet">
            <summary>
            The EntitySet from which the collection of entities comes from.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.#ctor(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.OData.Query.SemanticAst.SingleEntityNode)">
            <summary>
            Creates a CollectionNavigationNode.
            </summary>
            <param name="navigationProperty">The navigation property that defines the collection node.</param>
            <param name="source">The parent of this collection navigation node.</param>
            <returns>The collection node.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input source or navigation property is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the input navigation doesn't target a collection.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.#ctor(Microsoft.Data.Edm.IEdmNavigationProperty,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Creates a CollectionNavigationNode.
            </summary>
            <param name="navigationProperty">The navigation property that defines the collection node.</param>
            <param name="sourceSet">The source entity set.</param>
            <returns>The collection node.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input navigation property is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the input navigation doesn't target a collection.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.#ctor(Microsoft.Data.Edm.IEdmNavigationProperty)">
            <summary>
            Creates a CollectionNavigationNode.
            </summary>
            <param name="navigationProperty">The navigation property that defines the collection node.</param>
            <returns>The collection node.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input navigation property is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the input navigation doesn't target a collection.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.Source">
            <summary>
            Gets the parent node of this Collection Navigation Node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.TargetMultiplicity">
            <summary>
            Gets the target multiplicity.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.NavigationProperty">
            <summary>
            Gets the Navigation Property that defines this collection Node.
            </summary>
            <value> The navigation property that defines this collection node. </value>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.ItemType">
            <summary>
            Gets a reference to the resource type a single entity in the collection.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.CollectionType">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.EntityItemType">
            <summary>
            Gets the resouce type of a single entity from the collection.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.EntitySet">
            <summary>
            Gets the entity set containing this collection.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.FilterClause">
            <summary>
            The result of parsing a $filter query option.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.FilterClause.expression">
            <summary>
            The filter expression - this should evaluate to a single boolean value.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.FilterClause.rangeVariable">
            <summary>
            The parameter for the expression which represents a single value from the collection.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.FilterClause.#ctor(Microsoft.Data.OData.Query.SemanticAst.SingleValueNode,Microsoft.Data.OData.Query.SemanticAst.RangeVariable)">
            <summary>
            Creates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.FilterClause"/>.
            </summary>
            <param name="expression">The filter expression - this should evaluate to a single boolean value. Cannot be null.</param>
            <param name="rangeVariable">The parameter for the expression which represents a single value from the collection. Cannot be null.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input expression or rangeVariable is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.FilterClause.Expression">
            <summary>
            Gets the filter expression - this should evaluate to a single boolean value.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.FilterClause.RangeVariable">
            <summary>
            Gets the parameter for the expression which represents a single value from the collection.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.FilterClause.ItemType">
            <summary>
            Gets the type of item returned by this clause.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.OrderByClause">
            <summary>
            Represents the result of parsing the $orderby query option.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.expression">
            <summary>
            The order-by expression.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.direction">
            <summary>
            The direction to order.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.rangeVariable">
            <summary>
            The rangeVariable for the expression which represents a single value from the collection we iterate over.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.thenBy">
            <summary>
            The next orderby to perform after performing this orderby, can be null in the case of only a single orderby expression.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.#ctor(Microsoft.Data.OData.Query.SemanticAst.OrderByClause,Microsoft.Data.OData.Query.SemanticAst.SingleValueNode,Microsoft.Data.OData.Query.OrderByDirection,Microsoft.Data.OData.Query.SemanticAst.RangeVariable)">
            <summary>
            Creates an <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OrderByClause"/>.
            </summary>
            <param name="thenBy">The next orderby to perform after performing this orderby, can be null in the case of only a single orderby expression.</param>
            <param name="expression">The order-by expression. Cannot be null.</param>
            <param name="direction">The direction to order.</param>
            <param name="rangeVariable">The rangeVariable for the expression which represents a single value from the collection we iterate over. </param>
            <exception cref="T:System.ArgumentNullException">Throws if the input expression or rangeVariable is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.ThenBy">
            <summary>
            Gets the next orderby to perform after performing this orderby, can be null in the case of only a single orderby expression.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.Expression">
            <summary>
            Gets the order-by expression.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.Direction">
            <summary>
            Gets the direction to order.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.RangeVariable">
            <summary>
            Gets the rangeVariable for the expression which represents a single value from the collection we iterate over.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OrderByClause.ItemType">
            <summary>
            Gets the type of a single item from the collection returned after ordering.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable">
            <summary>
            A RangeVariable inside an any or all expression that doesn't refer to an entity set
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.RangeVariable">
            <summary>
            A RangeVariable, which represents an iterator variable either over a collection, either of entities or not.
            Exists outside of the main SemanticAST, but hooked in via a RangeVariableReferenceNode (either Non-Entity or Entity).
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.RangeVariable.Name">
            <summary>
            Gets the name of the associated rangeVariable.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.RangeVariable.TypeReference">
            <summary>
            Gets the type of entity referenced by this rangeVariable
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.RangeVariable.Kind">
            <summary>
            Gets the kind of this rangeVariable.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.name">
            <summary>
             The name of the associated any/all parameter (null if none)
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.entityCollectionNode">
            <summary>
            The Entity collection that this rangeVariable node iterates over
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.entitySet">
            <summary>
            The Entity set of the collection this node iterates over.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.entityTypeReference">
            <summary>
            The entity type of each item in the collection that this range variable iterates over.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.#ctor(System.String,Microsoft.Data.Edm.IEdmEntityTypeReference,Microsoft.Data.OData.Query.SemanticAst.EntityCollectionNode)">
            <summary>
            Creates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable"/>.
            </summary>
            <param name="name"> The name of the associated any/all parameter (null if none)</param>
            <param name="entityType">The entity type of each item in the collection that this range variable iterates over.</param>
            <param name="entityCollectionNode">The Entity collection that this rangeVariable node iterates over</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input name or entityType is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.#ctor(System.String,Microsoft.Data.Edm.IEdmEntityTypeReference,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Creates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable"/>.
            </summary>
            <param name="name"> The name of the associated any/all parameter (null if none)</param>
            <param name="entityType">The entity type of each item in the collection that this range variable iterates over.</param>
            <param name="entitySet">The Entity set of the collection this node iterates over.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input name or entityType is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.Name">
            <summary>
            Gets the name of the associated any/all parameter (null if none)
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.EntityCollectionNode">
            <summary>
            Gets the Entity collection that this rangeVariable node iterates over
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.EntitySet">
            <summary>
            Gets the Entity set of the collection this node iterates over.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.TypeReference">
            <summary>
            Gets the entity type of each item in the collection that this range variable iterates over.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.EntityTypeReference">
            <summary>
            Gets the entity type of each item in the collection that this range variable iterates over.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable.Kind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode">
            <summary>
            Node to represent a range variable in an Any or All clause that referrs to an entity.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.SingleEntityNode">
            <summary>
            Base class for all semantic metadata bound nodes which represent a single composable entity value.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.SingleValueNode">
            <summary>
            Base class for all semantic metadata bound nodes which represent a single composable value.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SingleValueNode.TypeReference">
            <summary>
            Gets the type of the single value this node represents.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SingleValueNode.Kind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SingleEntityNode.EntitySet">
            <summary>
            Gets the EntitySet containing this single entity.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.SingleEntityNode.EntityTypeReference">
            <summary>
            Gets the type of this single entity.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.name">
            <summary>
             The name of the associated range variable (null if none)
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.entityTypeReference">
            <summary>
            The entity type of the associated range variable.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.rangeVariable">
            <summary>
            The range variable that the node represents.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.entitySet">
            <summary>
            The entity set containing the collection that this range variable iterates over.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.#ctor(System.String,Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariable)">
            <summary>
            Creates an <see cref="T:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode"/>.
            </summary>
            <param name="name"> The name of the associated range variable (null if none)</param>
            <param name="rangeVariable">The actual range variable on the bind stack that this refers to</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input name or rangeVariable is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.Name">
            <summary>
            Gets the name of the associated rangevariable (null if none)
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.TypeReference">
            <summary>
            Gets the entity type of the associated range variable.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.EntityTypeReference">
            <summary>
            Gets the entity type of the associated range variable.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.RangeVariable">
            <summary>
            Gets a reference to the range variable that this node represents.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.EntitySet">
            <summary>
            Gets the entity set containing the collection that this range variable iterates over.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable">
            <summary>
            A rangeVariable from an Any or All that doesn't refer to an entity set
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.name">
            <summary>
             The name of the associated rangeVariable
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.collectionNode">
            <summary>
            The collection that this rangeVariable node iterates over, can be null in the case of
            single value nodes.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.typeReference">
            <summary>
            The type of the value the range variable represents
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.#ctor(System.String,Microsoft.Data.Edm.IEdmTypeReference,Microsoft.Data.OData.Query.SemanticAst.CollectionNode)">
            <summary>
            Creates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable"/>.
            </summary>
            <param name="name"> The name of the associated range variable.</param>
            <param name="typeReference">The type of the value the range variable represents.</param>
            <param name="collectionNode">The collection that this rangeVariable node iterates over, can be null in the case of single value nodes.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input name is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the input type reference is an entity type.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.Name">
            <summary>
            Gets the name of the associated rangevariable.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.TypeReference">
            <summary>
            Gets the type of the value the range variable represents.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.CollectionNode">
            <summary>
            Gets the collection that this rangeVariable node iterates over, can be null in the case of single value nodes.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable.Kind">
            <summary>
            Gets the kind of this range variable.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode">
            <summary>
            A node that represents a rangeVariable that iterates over a non entity collection.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.name">
            <summary>
             The name of the associated rangeVariable
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.typeReference">
            <summary>
            The type item referred to by this rangeVariable.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.rangeVariable">
            <summary>
            Reference to a rangeVariable on the binding stack.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.#ctor(System.String,Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariable)">
            <summary>
            Creates a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode"/>.
            </summary>
            <param name="name"> The name of the associated rangeVariable</param>
            <param name="rangeVariable">Reference to a rangeVariable on the binding stack.</param>
            <exception cref="T:System.ArgumentNullException">Throws if input name or rangeVariable is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.Name">
            <summary>
            Gets the name of the associated rangeVariable.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.TypeReference">
            <summary>
            Gets the type item referred to by this rangeVariable.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.RangeVariable">
            <summary>
            Gets the reference to a rangeVariable on the binding stack.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.RangeVariableKind">
            <summary>
            Enumeration of the different kinds of RangeVariables.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.RangeVariableKind.Entity">
            <summary>
            A range variable that referrs to entity types.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.RangeVariableKind.Nonentity">
            <summary>
            A range variable that referrs to non-entity types.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.OperationSegment">
            <summary>
            A segment representing a call to an action, function, or service operation.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.UnknownSentinel">
            <summary>
            Sentinel type marking that we could not determine the return type for this segment.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.operations">
            <summary>
            The list of possible FunctionImport overloads for this segment.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.parameters">
            <summary>
            the list of parameters to this operation.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.entitySet">
            <summary>
            The <see cref="T:Microsoft.Data.Edm.IEdmEntitySet"/> containing the entities that this function returns.
            This will be null if entities are not returned by this operation, or if there is any ambiguity.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.computedReturnEdmType">
            <summary>
            The type of item returned by the operation(s), if known.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.#ctor(Microsoft.Data.Edm.IEdmFunctionImport,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a segment representing a call to an operation - action, function, or service operation.
            </summary>
            <param name="operation">A single function import that this segment will represent.</param>
            <param name="entitySet">The <see cref="T:Microsoft.Data.Edm.IEdmEntitySet"/> containing the entities that this function returns.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input operation is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.Edm.IEdmFunctionImport},Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a segment representing a call to an operation - action, function, or service operation.
            </summary>
            <param name="operationsIn">The list of possible FunctionImport overloads for this segment.</param>
            <param name="entitySet">The <see cref="T:Microsoft.Data.Edm.IEdmEntitySet"/> containing the entities that this function returns.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input operations is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.Edm.IEdmFunctionImport},System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.OperationSegmentParameter},Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Creates a segment representing a call to an operation - action, function or service operation.
            </summary>
            <param name="operationsIn">The list of possible FunctionImport overloads for this segment.</param>
            <param name="parameters">The list of parameters supplied to this segment.</param>
            <param name="entitySet">The <see cref="T:Microsoft.Data.Edm.IEdmEntitySet"/> containing the entities that this function returns.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.#ctor">
            <summary>
            Creates a segment representing a call to an operation - action, function or service operation.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handle interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.EnsureTypeAndSetAreCompatable">
            <summary>
            Ensures that the entity set and computed return type make sense.
            </summary>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the return type computed from the function call is null, or if the return type is not in the same hierarchy as the entity set provided.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.Operations">
            <summary>
            Gets the list of possible FunctionImport overloads for this segment.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.Parameters">
            <summary>
            Gets the list of parameters for this segment.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.OperationSegment"/>.
            </summary>
            <remarks>
            This value will be null for void service operations.
            If there are multiple candidate operations with varying return types, then this property will throw.
            </remarks>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the type is unknown.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.OperationSegment.EntitySet">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmEntitySet"/> containing the entities that this function returns.
            This will be null if entities are not returned by this operation, or if there is any ambiguity.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode">
            <summary>
            Node representing a function call which returns a single entity.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.name">
            <summary>
            the name of this function
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.functionImports">
            <summary>
            the list of funcitonImports represented by this node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.arguments">
            <summary>
            List of arguments provided to the function.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.entityTypeReference">
            <summary>
            The return type of this function.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.entitySet">
            <summary>
            The EntitySet containing the single entity that this function returns.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.source">
            <summary>
            The semantically bound parent of this function.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.#ctor(System.String,System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.QueryNode},Microsoft.Data.Edm.IEdmEntityTypeReference,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Create a SingleEntityFunctionCallNode
            </summary>
            <param name="name">The name of the function to call</param>
            <param name="arguments">List of arguments provided to the function. Can be null.</param>
            <param name="entityTypeReference">The return type of this function.</param>
            <param name="entitySet">The EntitySet containing the single entity that this function returns.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input name, returnedEntityTypeReference, or entitySet is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.#ctor(System.String,System.Collections.Generic.IEnumerable{Microsoft.Data.Edm.IEdmFunctionImport},System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SemanticAst.QueryNode},Microsoft.Data.Edm.IEdmEntityTypeReference,Microsoft.Data.Edm.IEdmEntitySet,Microsoft.Data.OData.Query.SemanticAst.QueryNode)">
            <summary>
            Create a SingleEntityFunctionCallNode
            </summary>
            <param name="name">The name of the function to call</param>
            <param name="functionImports">the list of function imports this node represents.</param>
            <param name="arguments">List of arguments provided to the function. Can be null.</param>
            <param name="entityTypeReference">The return type of this function.</param>
            <param name="entitySet">The EntitySet containing the single entity that this function returns.</param>
            <param name="source">The semantically bound parent of this function.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input name, returnedEntityTypeReference, or entitySet is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> that walks a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.Name">
            <summary>
            Gets the name of the function to call
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.FunctionImports">
            <summary>
            Gets the list of function imports that this node represents
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.Arguments">
            <summary>
            Gets the list of arguments provided to the function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.TypeReference">
            <summary>
            Gets the return type of this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.EntitySet">
            <summary>
            Gets the EntitySet containing the single entity that this function returns.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.EntityTypeReference">
            <summary>
            Gets the return type of this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.Source">
            <summary>
            Gets the semantically bound parent of this function.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SingleEntityFunctionCallNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode">
            <summary>
            Node representing an access to a collection property value.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.source">
            <summary>
            The value containing the property.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.property">
            <summary>
            The EDM property which is to be accessed.
            </summary>
            <remarks>Only non-entity, collection properties are supported by this node.</remarks>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.itemType">
            <summary>
            The resouce type of a single item from the collection represented by this node.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.collectionTypeReference">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.#ctor(Microsoft.Data.OData.Query.SemanticAst.SingleValueNode,Microsoft.Data.Edm.IEdmProperty)">
            <summary>
            Constructs a new <see cref="T:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode"/>.
            </summary>
            <param name="source">The value containing the property.</param>
            <param name="property">The EDM property which is to be accessed.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input source or property is null.</exception>
            <exception cref="T:System.ArgumentException">Throws if the input property is not a collection of structural properties</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.Accept``1(Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.QueryNode"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input visitor is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.Source">
            <summary>
            Gets the value containing the property.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.Property">
            <summary>
            Gets the EDM property which is to be accessed.
            </summary>
            <remarks>Only non-entity, collection properties are supported by this node.</remarks>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.ItemType">
            <summary>
            Gets the resouce type of a single item from the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.CollectionType">
            <summary>
            The type of the collection represented by this node.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode.InternalKind">
            <summary>
            Gets the kind of this node.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.ReadOnlyEnumerableForUriParser`1">
            <summary>
            Implementation of IEnumerable which is based on another IEnumerable
            but only exposes readonly access to that collection. This class doesn't implement
            any other public interfaces or public API unlike most other IEnumerable implementations
            which also implement other public interfaces.
            </summary>
            <typeparam name="T">The type of the items in the read-only enumerable.</typeparam>
        </member>
        <member name="F:Microsoft.Data.OData.Query.ReadOnlyEnumerableForUriParser`1.sourceEnumerable">
            <summary>
            The IEnumerable to wrap.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ReadOnlyEnumerableForUriParser`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Constructor.
            </summary>
            <param name="sourceEnumerable">The enumerable to wrap.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ReadOnlyEnumerableForUriParser`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
            <summary>
            Returns the enumerator to iterate through the items.
            </summary>
            <returns>The enumerator object to use.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.ReadOnlyEnumerableForUriParser`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns the (non-generic) enumerator to iterate through the items.
            </summary>
            <returns>The enumerator object to use.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.TypeSegment">
            <summary>
            A segment representing a cast on the previous segment to another type.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.edmType">
            <summary>
            The target type of this type segment.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.entitySet">
            <summary>
            The set containing the entities that we are casting.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.#ctor(Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmEntitySet)">
            <summary>
            Build a type segment using the given <paramref name="edmType"/>.
            </summary>
            <param name="edmType">The target type of this segment, which may be collection type.</param>
            <param name="entitySet">The set containing the entities that we are casting. This can be null.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input edmType is null.</exception>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input edmType is not relaed to the type of elements in the input entitySet.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.TypeSegment"/> into another type using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.TypeSegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the handler interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input other is null.</exception>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.TypeSegment"/>.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.TypeSegment.EntitySet">
            <summary>
            Gets the set containing the entities that we are casting.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.UnknownSelection">
            <summary>
            Singleton sentinal instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.Selection"/> that indicates that $select has not been processed yet. Should never be exposed to the user.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.UnknownSelection.Instance">
            <summary>
            Singleton instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.UnknownSelection"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.UnknownSelection.#ctor">
            <summary>
            Creates the singleton instance of this class.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ODataUnresolvedFunctionParameterAlias">
            <summary>
            Represents an aliased parameter in a function call that has not yet been resolved to a specific value.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.ODataValue">
            <summary>
            Represents the value of a property.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.ODataValue.IsNullValue">
            <summary>
            Indicates whether the given value is a null value.
            </summary>
            <value> true if the value is an ODataNullValue, false otherwise. </value>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ODataUnresolvedFunctionParameterAlias.#ctor(System.String,Microsoft.Data.Edm.IEdmTypeReference)">
            <summary>
            Initializes a new instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ODataUnresolvedFunctionParameterAlias"/>.
            </summary>
            <param name="alias">The alias provided as the parameter value.</param>
            <param name="type">The EDM type of the parameter represented by this alias.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataUnresolvedFunctionParameterAlias.Type">
            <summary>
            The EDM type of the parameter represented by this alias.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ODataUnresolvedFunctionParameterAlias.Alias">
            <summary>
            The alias provided as the parameter value.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.UriParserErrorHelper">
            <summary>
            Helper methods for the URI Parser.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.UriParserErrorHelper.ThrowIfTypesUnrelated(Microsoft.Data.Edm.IEdmType,Microsoft.Data.Edm.IEdmType,System.String)">
            <summary>
            Throws if the type is not related to the type of the given set.
            </summary>
            <param name="type">Type to check.</param>
            <param name="secondType">Second type, which should be related to the first type.</param>
            <param name="segmentName">The segment that is checking this.</param>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.ValueSegment">
            <summary>
            A segment representing $value
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.ValueSegment.edmType">
            <summary>
            The <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ValueSegment"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ValueSegment.#ctor(Microsoft.Data.Edm.IEdmType)">
            <summary>
            Build a segment to represnt $value.
            </summary>
            <param name="previousType">The type of the segment before $value. This may be null, for cases such as open properties.</param>
            <exception cref="T:Microsoft.Data.OData.ODataException">Throws if the input previousType is a colleciton type.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ValueSegment.Translate``1(Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator{``0})">
            <summary>
            Translate a <exception cref="T:Microsoft.Data.OData.Query.SemanticAst.ValueSegment"> into another object using an instance of</exception> <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentTranslator`1"/>.
            </summary>
            <typeparam name="T">Type that the translator will return after visiting this token.</typeparam>
            <param name="translator">An implementation of the translator interface.</param>
            <returns>An object whose type is determined by the type parameter of the translator.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if the input translator is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ValueSegment.Handle(Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler)">
            <summary>
            Handle a <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ValueSegment"/> using an instance of <see cref="T:Microsoft.Data.OData.Query.SemanticAst.PathSegmentHandler"/>.
            </summary>
            <param name="handler">An implementation of the translator interface.</param>
            <exception cref="T:System.ArgumentNullException">Throws if the input handler is null.</exception>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.ValueSegment.Equals(Microsoft.Data.OData.Query.SemanticAst.ODataPathSegment)">
            <summary>
            Check if this segment is equal to another segment.
            </summary>
            <param name="other">the other segment to check.</param>
            <returns>true if the other segment is equal.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.ValueSegment.EdmType">
            <summary>
            Gets the <see cref="T:Microsoft.Data.Edm.IEdmType"/> of this <see cref="T:Microsoft.Data.OData.Query.SemanticAst.ValueSegment"/>.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.WildcardSelectItem">
            <summary>
            Class to represent a '*' selection item, indicating that all structural properties should be selected.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.SelectBinder">
            <summary>
            Use a Select syntactic tree to populate the correct values for Selection in an already parsed
            Expand Semantic Tree.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.SelectBinder.visitor">
            <summary>
            Visitor object to walk the select tree
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectBinder.#ctor(Microsoft.Data.Edm.IEdmModel,Microsoft.Data.Edm.IEdmEntityType,System.Int32,Microsoft.Data.OData.Query.SemanticAst.SelectExpandClause)">
            <summary>
            Constructs a new SelectBinder.
            </summary>
            <param name="model">The model used for binding.</param>
            <param name="entityType">The entity type that the $select is being applied to.</param>
            <param name="maxDepth">the maximum recursive depth.</param>
            <param name="expandClauseToDecorate">The already built expand clause to decorate</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectBinder.Bind(Microsoft.Data.OData.Query.SyntacticAst.SelectToken)">
            <summary>
            Visits the top level select token
            </summary>
            <param name="tokenIn">the select token to visit</param>
            <returns>A new SelectExpandClause decorated with the information from the selectToken</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1">
            <summary>
            Visitor interface for walking the Semantic Tree.
            </summary>
            <typeparam name="T">Generic type produced by the visitor.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.AllNode)">
            <summary>
            Visit an AllNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.AnyNode)">
            <summary>
            Visit an AnyNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.BinaryOperatorNode)">
            <summary>
            Visit a BinaryOperatorNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.CollectionNavigationNode)">
            <summary>
            Visit a CollectionNavigationNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.CollectionPropertyAccessNode)">
            <summary>
            Visit a CollectionPropertyAccessNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.ConstantNode)">
            <summary>
            Visit a ConstantNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.ConvertNode)">
            <summary>
            Visit a ConvertNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.EntityCollectionCastNode)">
            <summary>
            Visit an EntityCollectionCastNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.EntityRangeVariableReferenceNode)">
            <summary>
            Visit an EntityRangeVariableReferenceNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.NonentityRangeVariableReferenceNode)">
            <summary>
            Visit a NonEntityRangeVariableNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.SingleEntityCastNode)">
            <summary>
            Visit a SingleEntityCastNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.SingleNavigationNode)">
            <summary>
            Visit a SingleNavigationNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SingleEntityFunctionCallNode)">
            <summary>
            Visit a SingleEntityFunctionCallNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SingleValueFunctionCallNode)">
            <summary>
            Visit a SingleValueFunctionCallNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.EntityCollectionFunctionCallNode)">
            <summary>
            Visit a EntityCollectionFunctionCallNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.CollectionFunctionCallNode)">
            <summary>
            Visit a CollectionFunctionCallNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.SingleValueOpenPropertyAccessNode)">
            <summary>
            Visit a SingleValueOpenPropertyAccessNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.SingleValuePropertyAccessNode)">
            <summary>
            Visit a SingleValuePropertyAccessNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.UnaryOperatorNode)">
            <summary>
            Visit a UnaryOperatorNode
            </summary>
            <param name="nodeIn">the node to visit</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.QueryNodeVisitor`1.Visit(Microsoft.Data.OData.Query.SemanticAst.NamedFunctionParameterNode)">
            <summary>
            Visit a NamedFunctionParameterNode.
            </summary>
            <param name="nodeIn">The node to visit.</param>
            <returns>Defined by the implementer</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken">
            <summary>
            Lexical token representing an expand operation.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.pathToNavProp">
            <summary>
            The nav prop path for this ExpandTerm
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.filterOption">
            <summary>
            the filter option for this expand term
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.orderByOption">
            <summary>
            the order by option for this expand term
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.topOption">
            <summary>
            the top option for this expand term
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.skipOption">
            <summary>
            the skip option for this expand term.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.inlineCountOption">
            <summary>
            the inlineCount option for this expand term.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.selectOption">
            <summary>
            the select option for this expand term.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.expandOption">
            <summary>
            the expand option for this expand term.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.#ctor(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Create an expand term token using only a property
            </summary>
            <param name="pathToNavProp">the path to the navigation property</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.#ctor(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.OData.Query.SyntacticAst.SelectToken,Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Create an expand term using only the property and its subexpand/select
            </summary>
            <param name="pathToNavProp">the path to the navigation property for this expand term</param>
            <param name="selectOption">the sub select for this token</param>
            <param name="expandOption">the sub expand for this token</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.#ctor(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.OData.Query.SyntacticAst.QueryToken,Microsoft.Data.OData.Query.SyntacticAst.OrderByToken,System.Nullable{System.Int64},System.Nullable{System.Int64},System.Nullable{Microsoft.Data.OData.Query.InlineCountKind},Microsoft.Data.OData.Query.SyntacticAst.SelectToken,Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Create an expand term token
            </summary>
            <param name="pathToNavProp">the nav prop for this expand term</param>
            <param name="filterOption">the filter option for this expand term</param>
            <param name="orderByOption">the orderby option for this expand term</param>
            <param name="topOption">the top option for this expand term</param>
            <param name="skipOption">the skip option for this expand term</param>
            <param name="inlineCountOption">the inlineCountOption for this expand term</param>
            <param name="selectOption">the select option for this expand term</param>
            <param name="expandOption">the expand option for this expand term</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor{``0})">
            <summary>
            Implement the visitor for this Token
            </summary>
            <typeparam name="T">The type to return</typeparam>
            <param name="visitor">A tree visitor that will visit this node.</param>
            <returns>Determined by the return type of the visitor.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.PathToNavProp">
            <summary>
            the nav property for this expand term
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.FilterOption">
            <summary>
            The filter option for this expand term.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.OrderByOption">
            <summary>
            the orderby option for this expand term.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.TopOption">
            <summary>
            the top option for this expand term.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.SkipOption">
            <summary>
            the skip option for this expand term.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.InlineCountOption">
            <summary>
            the inline count option for this expand term.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.SelectOption">
            <summary>
            the select option for this expand term.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.ExpandOption">
            <summary>
            the expand option for this expand term.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken.Kind">
            <summary>
            the kind of this expand term.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.ExpandToken">
            <summary>
            Lexical token representing an expand operation.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.ExpandToken.expandTerms">
            <summary>
            The properties according to which to expand in the results.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandToken.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken})">
            <summary>
            Create a ExpandToken given the property-accesses of the expand query.
            </summary>
            <param name="expandTerms">The properties according to which to expand the results.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.ExpandToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.ISyntacticTreeVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.QueryToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandToken.Kind">
            <summary>
            The kind of the query token.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.ExpandToken.ExpandTerms">
            <summary>
            The properties according to which to expand in the results.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken">
            <summary>
            Lexical token representing a segment in a path.
            </summary>
             
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken">
            <summary>
            Lexical token representing a segment in a path.
            </summary>
             
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.nextToken">
            <summary>
            the next token in the path
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.#ctor(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            build this segment token using the next token
            </summary>
            <param name="nextToken">the next token in the path</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.IsNamespaceOrContainerQualified">
            <summary>
            Is this token namespace or container qualified.
            </summary>
            <returns>true if this token is namespace or container qualified.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.Accept(Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor)">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken"/>s.
            </summary>
            <param name="visitor">An implementation of the visitor interface.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.SetNextToken(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            internal setter for the next token.
            </summary>
            <param name="nextTokenIn">the next token to set.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.NextToken">
            <summary>
            Get the NextToken in the path
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken.Identifier">
            <summary>
            The name of the property to access.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.namedValues">
            <summary>
            Any named values for this NonSystemToken
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.identifier">
            <summary>
            The identifier for this token.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.#ctor(System.String,System.Collections.Generic.IEnumerable{Microsoft.Data.OData.Query.NamedValue},Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Build a NonSystemToken
            </summary>
            <param name="identifier">the identifier of this token</param>
            <param name="namedValues">a list of named values for this token</param>
            <param name="nextToken">the next token in the path</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.IsNamespaceOrContainerQualified">
            <summary>
            Is this token namespace or container qualified.
            </summary>
            <returns>true if this token is namespace or container qualified.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.Accept(Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor)">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken"/>s.
            </summary>
            <param name="visitor">An implementation of the visitor interface.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.NamedValues">
            <summary>
            Get the list of named values for this token.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.NonSystemToken.Identifier">
            <summary>
            Get the identifier for this token.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.PathToken">
            <summary>
            Lexical token representing a segment in a path.
            </summary>
             
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.PathToken.NextToken">
            <summary>
            The NextToken in the path(can either be the parent or the child depending on whether the tree has
            been normalized for expand or not.
            TODO: need to revisit this and the rest of the syntactic parser to make it ready for public consumption.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.PathToken.Identifier">
            <summary>
            The name of the property to access.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.SystemToken">
            <summary>
            Lexical token representing a System token such as $count
            </summary>
             
        </member>
        <member name="F:Microsoft.Data.OData.Query.SyntacticAst.SystemToken.identifier">
            <summary>
            The identifier for this SystemToken
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SystemToken.#ctor(System.String,Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken)">
            <summary>
            Build a new System Token
            </summary>
            <param name="identifier">the identifier for this token.</param>
            <param name="nextToken">the next token in the path</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SystemToken.IsNamespaceOrContainerQualified">
            <summary>
            Is this token namespace or container qualified.
            </summary>
            <returns>always false, since this is a system token.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SystemToken.Accept``1(Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor{``0})">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor`1"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken"/>s.
            </summary>
            <typeparam name="T">Type that the visitor will return after visiting this token.</typeparam>
            <param name="visitor">An implementation of the visitor interface.</param>
            <returns>An object whose type is determined by the type parameter of the visitor.</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SystemToken.Accept(Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor)">
            <summary>
            Accept a <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.IPathSegmentTokenVisitor"/> to walk a tree of <see cref="T:Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken"/>s.
            </summary>
            <param name="visitor">An implementation of the visitor interface.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SyntacticAst.SystemToken.Identifier">
            <summary>
            Get the identifier for this token
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1">
            <summary>
            Visitor interface for walking the Syntactic Tree.
            </summary>
            <typeparam name="T">Generic type produced by the visitor.</typeparam>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.AllToken)">
            <summary>
            Visit an AllToken
            </summary>
            <param name="tokenIn">The All token to visit</param>
            <returns>An AllNode bound to this token</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.AnyToken)">
            <summary>
            Visits an AnyToken
            </summary>
            <param name="tokenIn">The Any token to visit</param>
            <returns>An AnyNode that's bound to this token</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.BinaryOperatorToken)">
            <summary>
            Visits a BinaryOperatorToken
            </summary>
            <param name="tokenIn">The Binary operator token to visit.</param>
            <returns>A BinaryOperatorNode thats bound to this token</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.DottedIdentifierToken)">
            <summary>
            Visits a DottedIdentifierToken
            </summary>
            <param name="tokenIn">The DottedIdentifierToken to visit</param>
            <returns>Either a SingleEntityCastNode, or EntityCollectionCastNode bound to this DottedIdentifierToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.ExpandToken)">
            <summary>
            Visits an ExpandToken
            </summary>
            <param name="tokenIn">The ExpandToken to visit</param>
            <returns>A QueryNode bound to this ExpandToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.ExpandTermToken)">
            <summary>
            Visits an ExpandTermToken
            </summary>
            <param name="tokenIn">The ExpandTermToken to visit</param>
            <returns>A QueryNode bound to this ExpandTermToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.FunctionCallToken)">
            <summary>
            Visits a FunctionCallToken
            </summary>
            <param name="tokenIn">The FunctionCallToken to visit</param>
            <returns>A SingleValueFunctionCallNode bound to this FunctionCallToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.LiteralToken)">
            <summary>
            Visits a LiteralToken
            </summary>
            <param name="tokenIn">The LiteralToken to visit</param>
            <returns>A ConstantNode bound to this LambdaToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.LambdaToken)">
            <summary>
            Visits a LambdaToken
            </summary>
            <param name="tokenIn">The LambdaToken to visit</param>
            <returns>A LambdaNode bound to this LambdaToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.InnerPathToken)">
            <summary>
            Visits a InnerPathToken
            </summary>
            <param name="tokenIn">The InnerPathToken to bind</param>
            <returns>A SingleValueNode or SingleEntityNode bound to this InnerPathToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.OrderByToken)">
            <summary>
            Visits an OrderByToken
            </summary>
            <param name="tokenIn">The OrderByToken to bind</param>
            <returns>An OrderByClause bound to this OrderByToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.EndPathToken)">
            <summary>
            Visits an EndPathToken
            </summary>
            <param name="tokenIn">The EndPathToken to bind</param>
            <returns>A PropertyAccessClause bound to this EndPathToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.CustomQueryOptionToken)">
            <summary>
            Visits a CustomQueryOptionToken
            </summary>
            <param name="tokenIn">The CustomQueryOptionToken to bind</param>
            <returns>A CustomQueryOptionNode bound to this CustomQueryOptionToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.RangeVariableToken)">
            <summary>
            Visits a RangeVariableToken
            </summary>
            <param name="tokenIn">The RangeVariableToken to bind</param>
            <returns>An Entity or NonEntity RangeVariableReferenceNode bound to this RangeVariableToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.SelectToken)">
            <summary>
            Visits a SelectToken
            </summary>
            <param name="tokenIn">The SelectToken to bind</param>
            <returns>A QueryNode bound to this SelectToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.StarToken)">
            <summary>
            Visits a StarToken
            </summary>
            <param name="tokenIn">The StarToken to bind</param>
            <returns>A QueryNode bound to this StarToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.UnaryOperatorToken)">
            <summary>
            Visits a UnaryOperatorToken
            </summary>
            <param name="tokenIn">The UnaryOperatorToken to bind</param>
            <returns>A UnaryOperatorNode bound to this UnaryOperatorToken</returns>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SyntacticTreeVisitor`1.Visit(Microsoft.Data.OData.Query.SyntacticAst.FunctionParameterToken)">
            <summary>
            Visits a FuntionParameterToken
            </summary>
            <param name="tokenIn">The FunctionParameterToken to bind</param>
            <returns>A user defined value</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SyntacticAst.SelectExpandPathBinder">
            <summary>
            Walk down a chain of type segments, checking that we find the correct type at each level.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SyntacticAst.SelectExpandPathBinder.FollowTypeSegments(Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken,Microsoft.Data.Edm.IEdmModel,System.Int32,Microsoft.Data.Edm.IEdmEntityType@,Microsoft.Data.OData.Query.SyntacticAst.PathSegmentToken@)">
            <summary>
            Follow any type segments on the path, stopping at the first segment that isn't a type token.
            </summary>
            <param name="firstTypeToken">the first type segment</param>
            <param name="model">the model these types are contained in.</param>
            <param name="maxDepth">the maximum recursive depth</param>
            <param name="currentLevelEntityType">the top level entity type, will be overwritten with the last entity type in the chain</param>
            <param name="firstNonTypeToken">the first non type token in the path</param>
            <returns>A path with type segments added to it.</returns>
        </member>
        <member name="T:Microsoft.Data.OData.Query.InternalErrorCodes">
            <summary>
            An enumeration that lists the internal errors.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.TypePromotionUtils_GetFunctionSignatures_Binary_UnreachableCodepath">
            <summary>Unreachable codepath in TypePromotionUtils.GetFunctionSignatures(BinaryOperatorKind), unrecognized kind of binary operator.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.TypePromotionUtils_GetFunctionSignatures_Unary_UnreachableCodepath">
            <summary>Unreachable codepath in TypePromotionUtils.GetFunctionSignatures(UnaryOperatorKind), unrecognized kind of unary operator.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.MetadataBinder_BindServiceOperation">
            <summary>Unreachable codepath in MetadataBinder.BindServiceOperation, unrecognized kind of service opertion.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.QueryExpressionTranslator_TranslateBinaryOperator_UnreachableCodepath">
            <summary>Unreachable codepath in QueryExpressionTranslator.TranslateBinaryOperator, unrecognized kind of binary operator.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.UriPrimitiveTypeParser_HexCharToNibble">
            <summary>Unreachable codepath in UriPrimitiveTypeParser.HexCharToNibble</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.UriQueryExpressionParser_ParseComparison">
            <summary>Unreachable codepath in UriQueryExpressionParser.ParseComparison</summary>
            <remarks>Was a new binary operator keyword without adding it to the switch in the ParseComparison?</remarks>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.UriPrimitiveTypeParser_TryUriStringToPrimitive">
            <summary>Unreachable codepath in UriPrimitiveTypeParser.TryUriStringToPrimitive</summary>
            <remarks>Unsupported type was asked to be parsed.</remarks>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.QueryNodeUtils_BinaryOperatorResultType_UnreachableCodepath">
            <summary>Unreachable codepath in QueryNodeUtils.BinaryOperatorResultType, unrecognized kind of binary operator.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.QueryExpressionTranslator_TranslateUnaryOperator_UnreachableCodepath">
            <summary>Unreachable codepath in QueryExpressionTranslator.TranslateUnaryOperator, unrecognized kind of unary operator.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.BinaryOperator_GetOperator_UnreachableCodePath">
            <summary>Unreachable codepath in BinaryOperator.GetOperator, unrecognized kind of binary operator.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.ODataUriBuilder_WriteUnary_UnreachableCodePath">
            <summary>Unreachable codepath in ODataUriBuilder.WriteUnary, unrecognized kind of unary operator.</summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.InternalErrorCodes.ODataUriBuilderUtils_ToText_InlineCountKind_UnreachableCodePath">
            <summary>Unreachable codepath in ODataUriBuilderUtils.ToText(InlineCountKind), unrecognized kind of inline count.</summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.AllNode">
            <summary>
            Query node representing an All query.
            </summary>
        </member>
        <member name="T:Microsoft.Data.OData.Query.SemanticAst.LambdaNode">
            <summary>
            Node representing an Any/All query.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.rangeVariables">
            <summary>
            The collection of rangeVariables in scope for this Any or All.
            </summary>
        </member>
        <member name="F:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.currentRangeVariable">
            <summary>
            The newest range variable added for by this Any or All.
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.#ctor(System.Collections.ObjectModel.Collection{Microsoft.Data.OData.Query.SemanticAst.RangeVariable})">
            <summary>
            Create a LambdaNode
            </summary>
            <param name="rangeVariables">The collection of rangeVariables in scope for this Any or All.</param>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.#ctor(System.Collections.ObjectModel.Collection{Microsoft.Data.OData.Query.SemanticAst.RangeVariable},Microsoft.Data.OData.Query.SemanticAst.RangeVariable)">
            <summary>
            Create a LambdaNode
            </summary>
            <param name="rangeVariables">The collection of rangeVariables in scope for this Any or All.</param>
            <param name="currentRangeVariable">The newest range variable added for by this Any or All.</param>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.RangeVariables">
            <summary>
            Gets the collection of rangeVariables in scope for this Any or All.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.CurrentRangeVariable">
            <summary>
            Gets the newest range variable added for by this Any or All.
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.Body">
            <summary>
            Gets or Sets the associated boolean expression
            </summary>
        </member>
        <member name="P:Microsoft.Data.OData.Query.SemanticAst.LambdaNode.Source">
            <summary>
            Gets or Sets the parent entity set or navigation property
            </summary>
        </member>
        <member name="M:Microsoft.Data.OData.Query.SemanticAst.AllNode.#ctor(System.Collections.ObjectModel.Collection{Microsoft.Data.OData.Query.SemanticAst.RangeVariable})">
            <summary>
            Create an AllNode
            </summary>
            <param name="rangeVariables">The name of the rangeVariables list.</param>
        </member>