Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Common / EntitySql / BuiltInExpr.cs / 2 / BuiltInExpr.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backup [....]
//---------------------------------------------------------------------
namespace System.Data.Common.EntitySql
{
using System;
using System.Globalization;
using System.Collections;
using System.Collections.Generic;
///
/// defines the function class of builtin expressions.
///
internal enum BuiltInKind
{
And,
Or,
Not,
Cast,
OfType,
Treat,
IsOf,
Union,
UnionAll,
Intersect,
Overlaps,
AnyElement,
Element,
Except,
Exists,
Flatten,
In,
NotIn,
Distinct,
IsNull,
IsNotNull,
Like,
Equal,
NotEqual,
LessEqual,
LessThan,
GreaterThan,
GreaterEqual,
Plus,
Minus,
Multiply,
Divide,
Modulus,
UnaryMinus,
UnaryPlus,
Between,
NotBetween
}
///
/// Represents a builtin ast expression node
///
internal sealed class BuiltInExpr : Expr
{
private BuiltInKind _kind;
private string _name;
private ExprList _argList = new ExprList();
private BuiltInExpr( BuiltInKind kind, string name )
{
_kind = kind;
_name = name.ToUpperInvariant();
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1 )
: this(kind, name)
{
_argList.Add(arg1);
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1, Expr arg2 )
: this(kind, name, arg1)
{
_argList.Add(arg2);
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1, Expr arg2, Expr arg3 )
: this(kind, name, arg1, arg2)
{
_argList.Add(arg3);
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1, Expr arg2, Expr arg3, Expr arg4 )
: this(kind, name, arg1, arg2, arg3)
{
_argList.Add(arg4);
}
internal BuiltInKind Kind
{
get { return _kind; }
set { _kind = value; }
}
internal string Name
{
get { return _name; }
}
internal ExprList ArgList
{
get { return _argList; }
}
internal Expr Arg1
{
get
{
if (_argList.Count < 1)
{
return null;
}
return _argList[0];
}
}
internal Expr Arg2
{
get
{
if (_argList.Count < 2)
return null;
return _argList[1];
}
}
internal int ArgCount
{
get { return ArgList.Count; }
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backup [....]
//---------------------------------------------------------------------
namespace System.Data.Common.EntitySql
{
using System;
using System.Globalization;
using System.Collections;
using System.Collections.Generic;
///
/// defines the function class of builtin expressions.
///
internal enum BuiltInKind
{
And,
Or,
Not,
Cast,
OfType,
Treat,
IsOf,
Union,
UnionAll,
Intersect,
Overlaps,
AnyElement,
Element,
Except,
Exists,
Flatten,
In,
NotIn,
Distinct,
IsNull,
IsNotNull,
Like,
Equal,
NotEqual,
LessEqual,
LessThan,
GreaterThan,
GreaterEqual,
Plus,
Minus,
Multiply,
Divide,
Modulus,
UnaryMinus,
UnaryPlus,
Between,
NotBetween
}
///
/// Represents a builtin ast expression node
///
internal sealed class BuiltInExpr : Expr
{
private BuiltInKind _kind;
private string _name;
private ExprList _argList = new ExprList();
private BuiltInExpr( BuiltInKind kind, string name )
{
_kind = kind;
_name = name.ToUpperInvariant();
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1 )
: this(kind, name)
{
_argList.Add(arg1);
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1, Expr arg2 )
: this(kind, name, arg1)
{
_argList.Add(arg2);
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1, Expr arg2, Expr arg3 )
: this(kind, name, arg1, arg2)
{
_argList.Add(arg3);
}
internal BuiltInExpr( BuiltInKind kind, string name, Expr arg1, Expr arg2, Expr arg3, Expr arg4 )
: this(kind, name, arg1, arg2, arg3)
{
_argList.Add(arg4);
}
internal BuiltInKind Kind
{
get { return _kind; }
set { _kind = value; }
}
internal string Name
{
get { return _name; }
}
internal ExprList ArgList
{
get { return _argList; }
}
internal Expr Arg1
{
get
{
if (_argList.Count < 1)
{
return null;
}
return _argList[0];
}
}
internal Expr Arg2
{
get
{
if (_argList.Count < 2)
return null;
return _argList[1];
}
}
internal int ArgCount
{
get { return ArgList.Count; }
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UnmanagedBitmapWrapper.cs
- RequestNavigateEventArgs.cs
- Operand.cs
- BindingContext.cs
- GrammarBuilderPhrase.cs
- XmlValueConverter.cs
- CodeCompiler.cs
- ExpressionBuilderContext.cs
- MediaCommands.cs
- SiteMapNodeItemEventArgs.cs
- XNameConverter.cs
- XamlUtilities.cs
- StyleTypedPropertyAttribute.cs
- OdbcStatementHandle.cs
- Point3DCollectionValueSerializer.cs
- x509store.cs
- GenericAuthenticationEventArgs.cs
- LineServicesRun.cs
- PageHandlerFactory.cs
- MailBnfHelper.cs
- CellTreeNode.cs
- MimeMapping.cs
- AsyncOperation.cs
- InternalSafeNativeMethods.cs
- AssemblyAttributesGoHere.cs
- BookmarkManager.cs
- TextBox.cs
- DataGridViewComboBoxEditingControl.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- UnsafeNativeMethods.cs
- SafeReadContext.cs
- BindingGroup.cs
- oledbmetadatacollectionnames.cs
- ListViewContainer.cs
- PointKeyFrameCollection.cs
- DisplayNameAttribute.cs
- InternalUserCancelledException.cs
- ContentTextAutomationPeer.cs
- Model3DGroup.cs
- EventTrigger.cs
- SerialPort.cs
- counter.cs
- MSAAEventDispatcher.cs
- MulticastNotSupportedException.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- AutoGeneratedField.cs
- XsdDateTime.cs
- Tuple.cs
- TreeSet.cs
- BuildProviderCollection.cs
- mongolianshape.cs
- CurrencyWrapper.cs
- LoginViewDesigner.cs
- objectquery_tresulttype.cs
- StorageTypeMapping.cs
- XpsFilter.cs
- remotingproxy.cs
- DataListCommandEventArgs.cs
- RectAnimationBase.cs
- Behavior.cs
- TreeNodeStyleCollection.cs
- XmlSchemaSimpleType.cs
- SkinIDTypeConverter.cs
- JsonReader.cs
- ActivityDesignerLayoutSerializers.cs
- ObfuscateAssemblyAttribute.cs
- srgsitem.cs
- WorkflowCommandExtensionItem.cs
- SafeViewOfFileHandle.cs
- BookmarkWorkItem.cs
- TextTreeInsertElementUndoUnit.cs
- SuspendDesigner.cs
- UpdateEventArgs.cs
- DoubleAnimationUsingPath.cs
- AccessText.cs
- RPIdentityRequirement.cs
- FontFamilyValueSerializer.cs
- QilName.cs
- SynchronizedPool.cs
- HtmlFormParameterReader.cs
- TouchesCapturedWithinProperty.cs
- Relationship.cs
- SqlCommandBuilder.cs
- KeyboardNavigation.cs
- DataReceivedEventArgs.cs
- HwndHost.cs
- SQLSingleStorage.cs
- ManagementBaseObject.cs
- DataGridColumnFloatingHeader.cs
- MaterialGroup.cs
- RightsManagementEncryptedStream.cs
- EntityDataSourceStatementEditorForm.cs
- SafeLibraryHandle.cs
- SafeIUnknown.cs
- VersionedStreamOwner.cs
- UInt16.cs
- SqlWorkflowInstanceStoreLock.cs
- SafeEventLogReadHandle.cs
- ConfigXmlReader.cs
- KnownAssembliesSet.cs