Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ExpressionConverter.cs
- Trace.cs
- QilList.cs
- DbConnectionClosed.cs
- X509Certificate2Collection.cs
- WebBrowserDesigner.cs
- ServiceMetadataExtension.cs
- LineBreak.cs
- StrokeRenderer.cs
- UTF7Encoding.cs
- SimpleTypesSurrogate.cs
- SurrogateEncoder.cs
- MsmqPoisonMessageException.cs
- AnnotationHelper.cs
- ColumnCollection.cs
- CorrelationManager.cs
- DataBindEngine.cs
- OleDbStruct.cs
- InvokeProviderWrapper.cs
- VersionedStreamOwner.cs
- CapabilitiesRule.cs
- TextSelectionHelper.cs
- SqlConnectionPoolGroupProviderInfo.cs
- DateTimeOffset.cs
- SystemIcmpV4Statistics.cs
- xamlnodes.cs
- PanelStyle.cs
- IERequestCache.cs
- TextMetrics.cs
- Bold.cs
- ArrayConverter.cs
- Win32Exception.cs
- EntityDesignerUtils.cs
- SystemIPv4InterfaceProperties.cs
- DecoderBestFitFallback.cs
- ApplicationInfo.cs
- CheckedListBox.cs
- DocumentCollection.cs
- HijriCalendar.cs
- InputLangChangeEvent.cs
- QilInvokeEarlyBound.cs
- dbdatarecord.cs
- ObjectDataSourceMethodEventArgs.cs
- ErrorWebPart.cs
- AuthenticationConfig.cs
- ApplicationActivator.cs
- StackBuilderSink.cs
- _ShellExpression.cs
- FormsAuthenticationEventArgs.cs
- Pair.cs
- DocumentXmlWriter.cs
- OfTypeExpression.cs
- TabControl.cs
- CryptoConfig.cs
- DiffuseMaterial.cs
- QilValidationVisitor.cs
- RijndaelManaged.cs
- SafeHandles.cs
- EditCommandColumn.cs
- Types.cs
- FontStyleConverter.cs
- Point3D.cs
- CompensationExtension.cs
- Duration.cs
- CngAlgorithm.cs
- HandlerMappingMemo.cs
- RuntimeWrappedException.cs
- Types.cs
- PrePostDescendentsWalker.cs
- EncryptedData.cs
- DelegatingConfigHost.cs
- BlobPersonalizationState.cs
- SslStreamSecurityElement.cs
- StructuredType.cs
- WebPartActionVerb.cs
- LockRecursionException.cs
- PropertyChangedEventManager.cs
- WarningException.cs
- SoapConverter.cs
- WebControlAdapter.cs
- UrlMappingCollection.cs
- BrowserCapabilitiesFactory.cs
- MediaTimeline.cs
- PopOutPanel.cs
- SizeConverter.cs
- SpeechDetectedEventArgs.cs
- ToolStripScrollButton.cs
- ExpressionPrinter.cs
- HttpFileCollection.cs
- WindowsBrush.cs
- UIElementCollection.cs
- FixedSchema.cs
- ObjectStorage.cs
- TextComposition.cs
- AdapterUtil.cs
- ReadOnlyDataSourceView.cs
- DocumentSequenceHighlightLayer.cs
- Separator.cs
- documentsequencetextview.cs
- SqlServices.cs