Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DLinq / Dlinq / SqlClient / Common / SqlNodeTypeOperators.cs / 1 / SqlNodeTypeOperators.cs
using System; using System.Collections.Generic; using System.Text; using System.Diagnostics.CodeAnalysis; namespace System.Data.Linq.SqlClient { internal static class SqlNodeTypeOperators { ////// Determines whether the given unary operator node type returns a value that /// is predicate. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsPredicateUnaryOperator(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.Not: case SqlNodeType.Not2V: case SqlNodeType.IsNull: case SqlNodeType.IsNotNull: return true; case SqlNodeType.Negate: case SqlNodeType.BitNot: case SqlNodeType.Count: case SqlNodeType.LongCount: case SqlNodeType.Max: case SqlNodeType.Min: case SqlNodeType.Sum: case SqlNodeType.Avg: case SqlNodeType.Stddev: case SqlNodeType.Covar: case SqlNodeType.Convert: case SqlNodeType.Cast: case SqlNodeType.ValueOf: case SqlNodeType.OuterJoinedValue: case SqlNodeType.ClrLength: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given unary operator expects a predicate as input. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsUnaryOperatorExpectingPredicateOperand(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.Not: case SqlNodeType.Not2V: return true; case SqlNodeType.IsNull: case SqlNodeType.IsNotNull: case SqlNodeType.Negate: case SqlNodeType.BitNot: case SqlNodeType.Count: case SqlNodeType.LongCount: case SqlNodeType.Max: case SqlNodeType.Min: case SqlNodeType.Sum: case SqlNodeType.Avg: case SqlNodeType.Stddev: case SqlNodeType.Covar: case SqlNodeType.Convert: case SqlNodeType.Cast: case SqlNodeType.ValueOf: case SqlNodeType.OuterJoinedValue: case SqlNodeType.ClrLength: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given binary operator node type returns a value that /// is a predicate boolean. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsPredicateBinaryOperator(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.EQ: case SqlNodeType.NE: case SqlNodeType.EQ2V: case SqlNodeType.NE2V: case SqlNodeType.And: case SqlNodeType.Or: return true; case SqlNodeType.Add: case SqlNodeType.Sub: case SqlNodeType.Mul: case SqlNodeType.Div: case SqlNodeType.Mod: case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.Concat: case SqlNodeType.Coalesce: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether this operator is a binary comparison operator (i.e. >, =>, ==, etc) /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification = "These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsComparisonOperator(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.EQ: case SqlNodeType.NE: case SqlNodeType.EQ2V: case SqlNodeType.NE2V: return true; case SqlNodeType.And: case SqlNodeType.Or: case SqlNodeType.Add: case SqlNodeType.Sub: case SqlNodeType.Mul: case SqlNodeType.Div: case SqlNodeType.Mod: case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.Concat: case SqlNodeType.Coalesce: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given binary operator node type returns a value that /// is a predicate boolean. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsBinaryOperatorExpectingPredicateOperands(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.And: case SqlNodeType.Or: return true; case SqlNodeType.EQ: case SqlNodeType.EQ2V: case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.NE: case SqlNodeType.NE2V: case SqlNodeType.Add: case SqlNodeType.Sub: case SqlNodeType.Mul: case SqlNodeType.Div: case SqlNodeType.Mod: case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.Concat: case SqlNodeType.Coalesce: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given node requires support on the client for evaluation. /// For example, LINK nodes may be delay-executed only when the user requests the result. /// internal static bool IsClientAidedExpression(this SqlExpression expr) { switch (expr.NodeType) { case SqlNodeType.Link: case SqlNodeType.Element: case SqlNodeType.Multiset: case SqlNodeType.ClientQuery: case SqlNodeType.TypeCase: case SqlNodeType.New: return true; default: return false; }; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; using System.Text; using System.Diagnostics.CodeAnalysis; namespace System.Data.Linq.SqlClient { internal static class SqlNodeTypeOperators { ////// Determines whether the given unary operator node type returns a value that /// is predicate. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsPredicateUnaryOperator(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.Not: case SqlNodeType.Not2V: case SqlNodeType.IsNull: case SqlNodeType.IsNotNull: return true; case SqlNodeType.Negate: case SqlNodeType.BitNot: case SqlNodeType.Count: case SqlNodeType.LongCount: case SqlNodeType.Max: case SqlNodeType.Min: case SqlNodeType.Sum: case SqlNodeType.Avg: case SqlNodeType.Stddev: case SqlNodeType.Covar: case SqlNodeType.Convert: case SqlNodeType.Cast: case SqlNodeType.ValueOf: case SqlNodeType.OuterJoinedValue: case SqlNodeType.ClrLength: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given unary operator expects a predicate as input. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsUnaryOperatorExpectingPredicateOperand(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.Not: case SqlNodeType.Not2V: return true; case SqlNodeType.IsNull: case SqlNodeType.IsNotNull: case SqlNodeType.Negate: case SqlNodeType.BitNot: case SqlNodeType.Count: case SqlNodeType.LongCount: case SqlNodeType.Max: case SqlNodeType.Min: case SqlNodeType.Sum: case SqlNodeType.Avg: case SqlNodeType.Stddev: case SqlNodeType.Covar: case SqlNodeType.Convert: case SqlNodeType.Cast: case SqlNodeType.ValueOf: case SqlNodeType.OuterJoinedValue: case SqlNodeType.ClrLength: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given binary operator node type returns a value that /// is a predicate boolean. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsPredicateBinaryOperator(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.EQ: case SqlNodeType.NE: case SqlNodeType.EQ2V: case SqlNodeType.NE2V: case SqlNodeType.And: case SqlNodeType.Or: return true; case SqlNodeType.Add: case SqlNodeType.Sub: case SqlNodeType.Mul: case SqlNodeType.Div: case SqlNodeType.Mod: case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.Concat: case SqlNodeType.Coalesce: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether this operator is a binary comparison operator (i.e. >, =>, ==, etc) /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification = "These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsComparisonOperator(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.EQ: case SqlNodeType.NE: case SqlNodeType.EQ2V: case SqlNodeType.NE2V: return true; case SqlNodeType.And: case SqlNodeType.Or: case SqlNodeType.Add: case SqlNodeType.Sub: case SqlNodeType.Mul: case SqlNodeType.Div: case SqlNodeType.Mod: case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.Concat: case SqlNodeType.Coalesce: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given binary operator node type returns a value that /// is a predicate boolean. /// [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification="These issues are related to our use of if-then and case statements for node types, which adds to the complexity count however when reviewed they are easy to navigate and understand.")] internal static bool IsBinaryOperatorExpectingPredicateOperands(this SqlNodeType nodeType) { switch (nodeType) { case SqlNodeType.And: case SqlNodeType.Or: return true; case SqlNodeType.EQ: case SqlNodeType.EQ2V: case SqlNodeType.GE: case SqlNodeType.GT: case SqlNodeType.LE: case SqlNodeType.LT: case SqlNodeType.NE: case SqlNodeType.NE2V: case SqlNodeType.Add: case SqlNodeType.Sub: case SqlNodeType.Mul: case SqlNodeType.Div: case SqlNodeType.Mod: case SqlNodeType.BitAnd: case SqlNodeType.BitOr: case SqlNodeType.BitXor: case SqlNodeType.Concat: case SqlNodeType.Coalesce: return false; default: throw Error.UnexpectedNode(nodeType); } } ////// Determines whether the given node requires support on the client for evaluation. /// For example, LINK nodes may be delay-executed only when the user requests the result. /// internal static bool IsClientAidedExpression(this SqlExpression expr) { switch (expr.NodeType) { case SqlNodeType.Link: case SqlNodeType.Element: case SqlNodeType.Multiset: case SqlNodeType.ClientQuery: case SqlNodeType.TypeCase: case SqlNodeType.New: return true; default: return false; }; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- httpstaticobjectscollection.cs
- Repeater.cs
- ImageCodecInfoPrivate.cs
- DataConnectionHelper.cs
- Configuration.cs
- FeatureSupport.cs
- ByteBufferPool.cs
- SolidColorBrush.cs
- XmlNamedNodeMap.cs
- ImageAnimator.cs
- ClientSettingsStore.cs
- SerializationFieldInfo.cs
- ObjectIDGenerator.cs
- StartUpEventArgs.cs
- CoreSwitches.cs
- Grid.cs
- Attribute.cs
- DatagridviewDisplayedBandsData.cs
- XmlCompatibilityReader.cs
- ResumeStoryboard.cs
- WebBrowserSiteBase.cs
- TextSelection.cs
- SQLDecimalStorage.cs
- WaitHandle.cs
- X509CertificateRecipientServiceCredential.cs
- HttpCacheVaryByContentEncodings.cs
- DecimalFormatter.cs
- StorageEntityContainerMapping.cs
- RIPEMD160Managed.cs
- Span.cs
- FrameworkObject.cs
- DashStyle.cs
- DataStreamFromComStream.cs
- ToolStripPanelRenderEventArgs.cs
- ObjectContext.cs
- NotImplementedException.cs
- DirectoryInfo.cs
- VideoDrawing.cs
- RelOps.cs
- UserPreference.cs
- DBConcurrencyException.cs
- XhtmlConformanceSection.cs
- XmlObjectSerializerWriteContextComplex.cs
- TextTreeNode.cs
- SerializerWriterEventHandlers.cs
- Accessible.cs
- HttpCacheVaryByContentEncodings.cs
- Point.cs
- ProcessThreadCollection.cs
- CalendarButton.cs
- TdsParser.cs
- WebPartMenuStyle.cs
- Hex.cs
- SchemaImporter.cs
- EnumBuilder.cs
- HtmlUtf8RawTextWriter.cs
- XhtmlBasicObjectListAdapter.cs
- GeneralTransform3DCollection.cs
- SqlException.cs
- InspectionWorker.cs
- SimpleHandlerFactory.cs
- VerificationAttribute.cs
- ConnectionManagementElementCollection.cs
- WebPartMinimizeVerb.cs
- SQLDecimal.cs
- DeflateStream.cs
- ConvertEvent.cs
- SystemIPAddressInformation.cs
- TouchEventArgs.cs
- CustomAttributeSerializer.cs
- InstalledFontCollection.cs
- CodeGotoStatement.cs
- CalculatedColumn.cs
- SimpleExpression.cs
- SqlDataReaderSmi.cs
- MaskedTextProvider.cs
- XmlDataCollection.cs
- PlainXmlWriter.cs
- Boolean.cs
- AtomContentProperty.cs
- MailMessage.cs
- UnmanagedMarshal.cs
- SettingsPropertyValueCollection.cs
- WebPartActionVerb.cs
- NegatedCellConstant.cs
- XmlMembersMapping.cs
- Operators.cs
- _Rfc2616CacheValidators.cs
- GenerateTemporaryAssemblyTask.cs
- TemplateContent.cs
- RawStylusInputCustomData.cs
- TargetException.cs
- DefaultEventAttribute.cs
- EdmConstants.cs
- ColorConverter.cs
- WindowsScrollBarBits.cs
- Point4DConverter.cs
- FloaterParaClient.cs
- EntityContainerAssociationSet.cs
- ToolStripContentPanelRenderEventArgs.cs