Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / Operator.cs / 1305376 / Operator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace MS.Internal.Xml.XPath { using System; using System.Xml; using System.Xml.XPath; using System.Diagnostics; using System.Globalization; internal class Operator : AstNode { public enum Op { // order is alligned with XPathOperator INVALID, /*Logical */ OR, AND, /*Equality */ EQ, NE, /*Relational*/ LT, LE, GT, GE, /*Arithmetic*/ PLUS, MINUS, MUL, DIV, MOD, /*Union */ UNION, }; static Op[] invertOp = { /*INVALID*/ Op.INVALID, /*OR */ Op.INVALID, /*END */ Op.INVALID, /*EQ */ Op.EQ, /*NE */ Op.NE, /*LT */ Op.GT, /*LE */ Op.GE, /*GT */ Op.LT, /*GE */ Op.LE, }; static public Operator.Op InvertOperator(Operator.Op op) { Debug.Assert(Op.EQ <= op && op <= Op.GE); return invertOp[(int)op]; } private Op opType; private AstNode opnd1; private AstNode opnd2; public Operator(Op op, AstNode opnd1, AstNode opnd2) { this.opType = op; this.opnd1 = opnd1; this.opnd2 = opnd2; } public override AstType Type { get {return AstType.Operator;} } public override XPathResultType ReturnType { get { if (opType <= Op.GE) { return XPathResultType.Boolean; } if (opType <= Op.MOD) { return XPathResultType.Number; } return XPathResultType.NodeSet; } } public Op OperatorType { get { return opType; } } public AstNode Operand1 { get { return opnd1; } } public AstNode Operand2 { get { return opnd2; } } } } // 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
- CodeActivityContext.cs
- SecondaryIndexDefinition.cs
- StylusSystemGestureEventArgs.cs
- AppendHelper.cs
- NativeCppClassAttribute.cs
- WmlPanelAdapter.cs
- IdentityReference.cs
- PersonalizationProvider.cs
- DropDownButton.cs
- RangeValuePattern.cs
- MD5Cng.cs
- TrackBarRenderer.cs
- TextOutput.cs
- PolicyException.cs
- ListMarkerLine.cs
- ReadOnlyObservableCollection.cs
- NodeInfo.cs
- JsonEnumDataContract.cs
- OleAutBinder.cs
- X509CertificateRecipientClientCredential.cs
- CharAnimationBase.cs
- BypassElementCollection.cs
- PrincipalPermission.cs
- WrappedOptions.cs
- DataViewManagerListItemTypeDescriptor.cs
- AutomationProperties.cs
- ServiceMemoryGates.cs
- MissingFieldException.cs
- GenericTextProperties.cs
- PolyLineSegment.cs
- ObjectComplexPropertyMapping.cs
- SqlLiftWhereClauses.cs
- AccessDataSource.cs
- BitmapEffectvisualstate.cs
- ColorAnimation.cs
- OdbcHandle.cs
- FlowNode.cs
- NamespaceMapping.cs
- Geometry.cs
- StructuredTypeInfo.cs
- DesignerSelectionListAdapter.cs
- AppliedDeviceFiltersEditor.cs
- Rectangle.cs
- DbConnectionHelper.cs
- RecommendedAsConfigurableAttribute.cs
- DbConnectionInternal.cs
- sitestring.cs
- LowerCaseStringConverter.cs
- CodeAttributeArgumentCollection.cs
- ScriptingJsonSerializationSection.cs
- Cell.cs
- SendContent.cs
- Sql8ConformanceChecker.cs
- SiteMapDesignerDataSourceView.cs
- DiffuseMaterial.cs
- DocumentPageTextView.cs
- EnvironmentPermission.cs
- ErrorHandler.cs
- OdbcException.cs
- DesignerTransactionCloseEvent.cs
- CryptoConfig.cs
- PrimitiveType.cs
- HwndSubclass.cs
- CodeTypeReferenceCollection.cs
- WpfPayload.cs
- EventTrigger.cs
- ClientTarget.cs
- MethodBuilder.cs
- HeaderCollection.cs
- DispatcherFrame.cs
- TemplateField.cs
- SafeNativeMethods.cs
- DecoratedNameAttribute.cs
- SmtpAuthenticationManager.cs
- FixedElement.cs
- CollectionViewProxy.cs
- StylusOverProperty.cs
- SqlTypeSystemProvider.cs
- XmlSchemaAnnotation.cs
- EncoderFallback.cs
- EntityDataSourceDataSelectionPanel.cs
- DrawToolTipEventArgs.cs
- SimpleHandlerFactory.cs
- ServiceOperationViewControl.cs
- CodeMethodInvokeExpression.cs
- VsPropertyGrid.cs
- SessionEndingEventArgs.cs
- ThemeableAttribute.cs
- XPathDescendantIterator.cs
- CalloutQueueItem.cs
- RefExpr.cs
- XamlBrushSerializer.cs
- MimeParameters.cs
- VersionedStreamOwner.cs
- HorizontalAlignConverter.cs
- WsatServiceAddress.cs
- TextLine.cs
- DatatypeImplementation.cs
- Binding.cs
- WindowsListBox.cs