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
- ConfigurationValidatorBase.cs
- SafeNativeMethods.cs
- OrderPreservingPipeliningMergeHelper.cs
- UpdatePanel.cs
- CqlLexer.cs
- OleDbSchemaGuid.cs
- DesignerEditorPartChrome.cs
- FrameAutomationPeer.cs
- WindowsRichEdit.cs
- DateTimeFormat.cs
- UTF7Encoding.cs
- MatrixCamera.cs
- State.cs
- TagPrefixAttribute.cs
- ImageListStreamer.cs
- WorkflowDataContext.cs
- SimpleRecyclingCache.cs
- TextViewBase.cs
- DataGridHelper.cs
- WeakEventTable.cs
- Listen.cs
- XmlExtensionFunction.cs
- LinkedDataMemberFieldEditor.cs
- shaperfactoryquerycachekey.cs
- Vector3D.cs
- Accessible.cs
- MethodResolver.cs
- ExpressionReplacer.cs
- HelpProvider.cs
- XamlStyleSerializer.cs
- SubclassTypeValidator.cs
- ConfigurationStrings.cs
- ListCollectionView.cs
- KeyManager.cs
- HtmlInputCheckBox.cs
- BuildProviderCollection.cs
- Merger.cs
- AnnotationMap.cs
- ExpressionHelper.cs
- CqlLexerHelpers.cs
- FileDetails.cs
- SqlDataReader.cs
- EdmMember.cs
- AssemblyAttributesGoHere.cs
- DictionaryGlobals.cs
- XamlBuildTaskServices.cs
- ListControl.cs
- LockCookie.cs
- LambdaCompiler.Generated.cs
- CompensatableTransactionScopeActivity.cs
- ToggleButton.cs
- TypeDescriptionProvider.cs
- AdornerLayer.cs
- CacheAxisQuery.cs
- TripleDESCryptoServiceProvider.cs
- DataGridViewHeaderCell.cs
- Options.cs
- ServiceContractDetailViewControl.cs
- RenderContext.cs
- XmlC14NWriter.cs
- SrgsSubset.cs
- ManagedFilter.cs
- SystemIPInterfaceProperties.cs
- AssemblyNameProxy.cs
- WebServiceMethodData.cs
- ReadOnlyCollection.cs
- FontFamilyConverter.cs
- TextEffect.cs
- KeyValueInternalCollection.cs
- ImportContext.cs
- ThreadAbortException.cs
- XamlFigureLengthSerializer.cs
- XD.cs
- SqlProviderServices.cs
- SmtpReplyReader.cs
- ClientRolePrincipal.cs
- XmlUtilWriter.cs
- Normalization.cs
- DigitShape.cs
- UrlAuthFailedErrorFormatter.cs
- DefinitionBase.cs
- MimeTypePropertyAttribute.cs
- HttpException.cs
- InternalTypeHelper.cs
- InfoCardBinaryReader.cs
- SafeCryptHandles.cs
- StateItem.cs
- FragmentQueryProcessor.cs
- PointF.cs
- HexParser.cs
- ToolStripPanelRenderEventArgs.cs
- RSAPKCS1SignatureFormatter.cs
- DataTemplateSelector.cs
- TopClause.cs
- WebProxyScriptElement.cs
- KnownTypesHelper.cs
- ContentPresenter.cs
- SchemaMerger.cs
- SpeechRecognizer.cs
- ProcessHostFactoryHelper.cs