Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Common / EntitySql / MethodExpr.cs / 1 / MethodExpr.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; using System.Data.Common.CommandTrees; using System.Diagnostics; ////// represents a method/function/aggregate function/type constructor expression /// internal sealed class MethodExpr : Expr { private Expr _leftExpr; private Identifier _methodIdentifier; private DistinctKind _distinctKind; private ExprList_args; private string _internalAggregateName; private DbExpression _dummyExpression = null; private ExprList _relationships; /// /// initializes method ast node /// /// /// /// /// internal MethodExpr( Expr left, Identifier methodId, DistinctKind distinctKind, ExprListargs ) { _leftExpr = left; _methodIdentifier = methodId; _distinctKind = distinctKind; _args = args; } /// /// intializes a method ast node /// /// /// /// /// /// internal MethodExpr(Expr left, Identifier methodId, DistinctKind distinctKind, ExprListargs, ExprList relationships) { _leftExpr = left; _methodIdentifier = methodId; _distinctKind = distinctKind; _args = args; _relationships = relationships; } /// /// left expression /// internal Expr LeftExpr { get { return _leftExpr; } } ////// method identifier /// internal Identifier MethodIdentifier { get { return _methodIdentifier; } } ////// method name /// internal string MethodName { get { return MethodIdentifier.Name; } } ////// returns a dotexpr with the entire prefix /// internal DotExpr MethodPrefixExpr { get { return new DotExpr(LeftExpr, MethodIdentifier); } } ////// defines if funtion has distict annotation /// internal DistinctKind DistinctKind { get { return _distinctKind; } } ////// argument list /// internal ExprListArgs { get { return _args; } } /// /// optional relationship list /// internal ExprListRelationships { get { return _relationships; } } /// /// Returns true if there are associated relationship expressions /// internal bool HasRelationships { get { return null != _relationships && _relationships.Count > 0; } } // // Aggregate helpers // ////// defines an internal name to be used as aggregate function /// used by semantic conversion /// internal string InternalAggregateName { get { return _internalAggregateName; } } ////// defines if a given function is aggregate /// used by semantic conversion /// internal bool WasResolved { get { return (null != _internalAggregateName); } } internal DbExpression DummyExpression { get { return _dummyExpression; } } internal void SetAggregateInfo( string internalAggregateName, DbExpression dummyExpr ) { Debug.Assert(internalAggregateName != null); Debug.Assert(dummyExpr != null); _internalAggregateName = internalAggregateName; _dummyExpression = dummyExpr; } internal void ResetDummyExpression() { _dummyExpression = null; } internal void ResetAggregateInfo() { _internalAggregateName = null; _dummyExpression = null; } } } // 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; using System.Data.Common.CommandTrees; using System.Diagnostics; ////// represents a method/function/aggregate function/type constructor expression /// internal sealed class MethodExpr : Expr { private Expr _leftExpr; private Identifier _methodIdentifier; private DistinctKind _distinctKind; private ExprList_args; private string _internalAggregateName; private DbExpression _dummyExpression = null; private ExprList _relationships; /// /// initializes method ast node /// /// /// /// /// internal MethodExpr( Expr left, Identifier methodId, DistinctKind distinctKind, ExprListargs ) { _leftExpr = left; _methodIdentifier = methodId; _distinctKind = distinctKind; _args = args; } /// /// intializes a method ast node /// /// /// /// /// /// internal MethodExpr(Expr left, Identifier methodId, DistinctKind distinctKind, ExprListargs, ExprList relationships) { _leftExpr = left; _methodIdentifier = methodId; _distinctKind = distinctKind; _args = args; _relationships = relationships; } /// /// left expression /// internal Expr LeftExpr { get { return _leftExpr; } } ////// method identifier /// internal Identifier MethodIdentifier { get { return _methodIdentifier; } } ////// method name /// internal string MethodName { get { return MethodIdentifier.Name; } } ////// returns a dotexpr with the entire prefix /// internal DotExpr MethodPrefixExpr { get { return new DotExpr(LeftExpr, MethodIdentifier); } } ////// defines if funtion has distict annotation /// internal DistinctKind DistinctKind { get { return _distinctKind; } } ////// argument list /// internal ExprListArgs { get { return _args; } } /// /// optional relationship list /// internal ExprListRelationships { get { return _relationships; } } /// /// Returns true if there are associated relationship expressions /// internal bool HasRelationships { get { return null != _relationships && _relationships.Count > 0; } } // // Aggregate helpers // ////// defines an internal name to be used as aggregate function /// used by semantic conversion /// internal string InternalAggregateName { get { return _internalAggregateName; } } ////// defines if a given function is aggregate /// used by semantic conversion /// internal bool WasResolved { get { return (null != _internalAggregateName); } } internal DbExpression DummyExpression { get { return _dummyExpression; } } internal void SetAggregateInfo( string internalAggregateName, DbExpression dummyExpr ) { Debug.Assert(internalAggregateName != null); Debug.Assert(dummyExpr != null); _internalAggregateName = internalAggregateName; _dummyExpression = dummyExpr; } internal void ResetDummyExpression() { _dummyExpression = null; } internal void ResetAggregateInfo() { _internalAggregateName = null; _dummyExpression = null; } } } // 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
- SubqueryTrackingVisitor.cs
- ByteAnimationUsingKeyFrames.cs
- GetResponse.cs
- ScrollableControl.cs
- TextSelectionProcessor.cs
- WebPartVerbCollection.cs
- CompilationLock.cs
- BezierSegment.cs
- UniqueIdentifierService.cs
- XmlComment.cs
- SpotLight.cs
- EventSetterHandlerConverter.cs
- EnumValAlphaComparer.cs
- LogRestartAreaEnumerator.cs
- VerificationAttribute.cs
- SrgsElementFactory.cs
- OledbConnectionStringbuilder.cs
- NotifyInputEventArgs.cs
- PersonalizationAdministration.cs
- SequenceDesigner.cs
- ProcessHostConfigUtils.cs
- FormViewPageEventArgs.cs
- TreeViewDesigner.cs
- AsyncOperationContext.cs
- PDBReader.cs
- PropertyMappingExceptionEventArgs.cs
- TypeConstant.cs
- Queue.cs
- StateItem.cs
- PeerDefaultCustomResolverClient.cs
- MobileComponentEditorPage.cs
- ModelFactory.cs
- ConfigurationErrorsException.cs
- WebEncodingValidator.cs
- XmlChildNodes.cs
- _ConnectionGroup.cs
- DefaultBindingPropertyAttribute.cs
- BreakSafeBase.cs
- EdmSchemaAttribute.cs
- SqlDataSource.cs
- OdbcConnectionFactory.cs
- SqlProcedureAttribute.cs
- Compilation.cs
- XPathChildIterator.cs
- Page.cs
- XmlProcessingInstruction.cs
- QilTypeChecker.cs
- NamespaceListProperty.cs
- SQLResource.cs
- ITreeGenerator.cs
- IODescriptionAttribute.cs
- SessionIDManager.cs
- _SSPIWrapper.cs
- VideoDrawing.cs
- TextEditorSelection.cs
- ExpressionBuilderContext.cs
- LinqDataSourceContextEventArgs.cs
- ImpersonationContext.cs
- Image.cs
- EventHandlersDesigner.cs
- BitmapEditor.cs
- SystemEvents.cs
- DataGridColumnStyleMappingNameEditor.cs
- XmlResolver.cs
- SchemaSetCompiler.cs
- Documentation.cs
- Membership.cs
- ZipIOExtraField.cs
- GeneralTransform3DTo2D.cs
- ObjectDataSourceFilteringEventArgs.cs
- StyleBamlTreeBuilder.cs
- UInt32.cs
- TransformGroup.cs
- SqlDataSourceTableQuery.cs
- FtpRequestCacheValidator.cs
- storepermission.cs
- CopyNamespacesAction.cs
- MultipleViewProviderWrapper.cs
- SyncOperationState.cs
- XmlParser.cs
- NullableConverter.cs
- CdpEqualityComparer.cs
- ModelTreeEnumerator.cs
- XhtmlConformanceSection.cs
- ProxyAttribute.cs
- ValueOfAction.cs
- StaticDataManager.cs
- SystemEvents.cs
- SerializationSectionGroup.cs
- GridViewAutomationPeer.cs
- MediaPlayerState.cs
- EntityDataSourceContainerNameItem.cs
- SkewTransform.cs
- ConstNode.cs
- ManifestBasedResourceGroveler.cs
- HMACSHA1.cs
- AnnotationObservableCollection.cs
- DoubleLinkList.cs
- ObjectDataSourceSelectingEventArgs.cs
- PointLight.cs