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
- WebEventTraceProvider.cs
- OleServicesContext.cs
- XamlReaderHelper.cs
- XmlTypeAttribute.cs
- ProgressBarBrushConverter.cs
- SoapCommonClasses.cs
- Repeater.cs
- DataGridViewRowEventArgs.cs
- HttpBufferlessInputStream.cs
- MouseWheelEventArgs.cs
- BamlResourceContent.cs
- BrowserInteropHelper.cs
- ExceptionNotification.cs
- TextElementEditingBehaviorAttribute.cs
- CriticalHandle.cs
- BitmapSource.cs
- WorkflowApplicationAbortedEventArgs.cs
- TransformedBitmap.cs
- LineInfo.cs
- PolyLineSegmentFigureLogic.cs
- OverlappedContext.cs
- EasingKeyFrames.cs
- SqlGatherProducedAliases.cs
- RichTextBoxConstants.cs
- BamlRecordHelper.cs
- AssociationType.cs
- XmlSchemaExternal.cs
- XPathException.cs
- CodeMemberField.cs
- ClientCultureInfo.cs
- BaseTemplateParser.cs
- MonthCalendarDesigner.cs
- HttpAsyncResult.cs
- DataPagerFieldCommandEventArgs.cs
- OdbcConnectionOpen.cs
- TransactionState.cs
- ListMarkerSourceInfo.cs
- FormsAuthenticationModule.cs
- Track.cs
- SoapIncludeAttribute.cs
- SelectionEditingBehavior.cs
- ParseChildrenAsPropertiesAttribute.cs
- AsyncPostBackTrigger.cs
- _BasicClient.cs
- PrintDocument.cs
- DependsOnAttribute.cs
- propertytag.cs
- AssemblyHash.cs
- InvalidTimeZoneException.cs
- ClientApiGenerator.cs
- AudioBase.cs
- OperationResponse.cs
- DataService.cs
- TextContainer.cs
- XMLUtil.cs
- HtmlHead.cs
- MimeMultiPart.cs
- BufferedGraphicsContext.cs
- WindowsTooltip.cs
- RegexWriter.cs
- Aggregates.cs
- OutputCacheProfileCollection.cs
- DrawingDrawingContext.cs
- StructuredType.cs
- NetMsmqBindingElement.cs
- ComponentRenameEvent.cs
- LeftCellWrapper.cs
- QilStrConcatenator.cs
- BitmapFrameEncode.cs
- DocumentPageViewAutomationPeer.cs
- SqlCacheDependency.cs
- HandleCollector.cs
- IPipelineRuntime.cs
- DbProviderSpecificTypePropertyAttribute.cs
- GenericQueueSurrogate.cs
- ZoneMembershipCondition.cs
- UriSchemeKeyedCollection.cs
- ReceiveCompletedEventArgs.cs
- WebBrowserUriTypeConverter.cs
- TrackingMemoryStream.cs
- Recipient.cs
- DataObjectPastingEventArgs.cs
- LineUtil.cs
- DefaultSection.cs
- CommunicationObjectFaultedException.cs
- DataRowCollection.cs
- updatecommandorderer.cs
- SafeArrayTypeMismatchException.cs
- TypeUtils.cs
- DefaultAutoFieldGenerator.cs
- XmlObjectSerializerWriteContextComplex.cs
- AsyncStreamReader.cs
- ElementNotEnabledException.cs
- WebPartConnectionsConfigureVerb.cs
- Region.cs
- SelectedDatesCollection.cs
- CancellationState.cs
- RuleProcessor.cs
- PathData.cs
- TreeNodeEventArgs.cs