//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- namespace System.Data.Common.EntitySql.AST { using System; using System.Globalization; using System.Collections; using System.Collections.Generic; /// /// Represents CREATEREF(entitySet, keys) expression. /// internal sealed class CreateRefExpr : Node { private readonly Node _entitySet; private readonly Node _keys; private readonly Node _typeIdentifier; /// /// Initializes CreateRefExpr. /// /// expression representing the entity set internal CreateRefExpr(Node entitySet, Node keys) : this(entitySet, keys, null) { } /// /// Initializes CreateRefExpr. /// internal CreateRefExpr(Node entitySet, Node keys, Node typeIdentifier) { _entitySet = entitySet; _keys = keys; _typeIdentifier = typeIdentifier; } /// /// Returns the expression for the entity set. /// internal Node EntitySet { get { return _entitySet; } } /// /// Returns the expression for the keys. /// internal Node Keys { get { return _keys; } } /// /// Gets optional typeidentifier. May be null. /// internal Node TypeIdentifier { get { return _typeIdentifier; } } } /// /// Represents KEY(expr) expression. /// internal class KeyExpr : Node { private readonly Node _argExpr; /// /// Initializes KEY expression. /// internal KeyExpr(Node argExpr) { _argExpr = argExpr; } /// /// Returns KEY argument expression. /// internal Node ArgExpr { get { return _argExpr; } } } }