Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / EntitySql / MethodExpr.cs / 2 / 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
- CatalogZone.cs
- BidPrivateBase.cs
- BindingGraph.cs
- PageHandlerFactory.cs
- MsmqTransportSecurityElement.cs
- SpecialNameAttribute.cs
- XmlObjectSerializerReadContextComplex.cs
- FigureHelper.cs
- PowerModeChangedEventArgs.cs
- XPathEmptyIterator.cs
- ActivationArguments.cs
- IntSecurity.cs
- XpsFilter.cs
- TextEffectCollection.cs
- LinkedResource.cs
- EdmPropertyAttribute.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- KeyboardNavigation.cs
- documentsequencetextview.cs
- Rect3D.cs
- PerformanceCounterPermissionEntryCollection.cs
- SqlDataReader.cs
- StorageScalarPropertyMapping.cs
- CapabilitiesPattern.cs
- ConsoleCancelEventArgs.cs
- SurrogateDataContract.cs
- TextServicesLoader.cs
- SortQuery.cs
- DependencyPropertyChangedEventArgs.cs
- CharAnimationUsingKeyFrames.cs
- LocalFileSettingsProvider.cs
- DesignTimeHTMLTextWriter.cs
- GeneralTransform3DTo2DTo3D.cs
- EnlistmentTraceIdentifier.cs
- Visual.cs
- FrameworkTextComposition.cs
- __FastResourceComparer.cs
- ExternalCalls.cs
- WebPartsSection.cs
- PerspectiveCamera.cs
- RootNamespaceAttribute.cs
- SpotLight.cs
- Calendar.cs
- Tokenizer.cs
- WinHttpWebProxyFinder.cs
- FormViewDeleteEventArgs.cs
- ParserHooks.cs
- ObjectViewEntityCollectionData.cs
- LocalizableResourceBuilder.cs
- TypefaceCollection.cs
- AutomationTextAttribute.cs
- RegexReplacement.cs
- ButtonAutomationPeer.cs
- RubberbandSelector.cs
- PasswordTextNavigator.cs
- Point4D.cs
- UrlAuthorizationModule.cs
- _IPv6Address.cs
- ExtensionFile.cs
- ToolStripSystemRenderer.cs
- DataGrid.cs
- MarkerProperties.cs
- MessageContractExporter.cs
- PageMediaSize.cs
- Formatter.cs
- MaskInputRejectedEventArgs.cs
- SqlFormatter.cs
- IdentityNotMappedException.cs
- TextEndOfLine.cs
- FontInfo.cs
- CodeCommentStatement.cs
- StreamedFramingRequestChannel.cs
- RelationshipType.cs
- WebPartUserCapability.cs
- UnsafeNativeMethods.cs
- MissingMethodException.cs
- AssociationSetMetadata.cs
- Stacktrace.cs
- TypeLibConverter.cs
- IdentityHolder.cs
- IconHelper.cs
- WebBrowser.cs
- DescendentsWalkerBase.cs
- PerformanceCounterManager.cs
- COSERVERINFO.cs
- PromptStyle.cs
- NetworkCredential.cs
- DetailsViewUpdateEventArgs.cs
- ViewGenResults.cs
- OdbcDataReader.cs
- HtmlHistory.cs
- PageHandlerFactory.cs
- HtmlMeta.cs
- IxmlLineInfo.cs
- RuleInfoComparer.cs
- ObjectView.cs
- AssemblyUtil.cs
- COM2PropertyPageUITypeConverter.cs
- EncodingInfo.cs
- ProfileService.cs