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
- OletxEnlistment.cs
- PropertyStore.cs
- DefaultTraceListener.cs
- WinEventQueueItem.cs
- Matrix.cs
- XmlComplianceUtil.cs
- FontWeight.cs
- HttpVersion.cs
- EventLogTraceListener.cs
- Point3DAnimationBase.cs
- ListSortDescription.cs
- Keywords.cs
- AnnotationAuthorChangedEventArgs.cs
- DrawItemEvent.cs
- SessionPageStatePersister.cs
- AudioLevelUpdatedEventArgs.cs
- CustomWebEventKey.cs
- AspCompat.cs
- CommandEventArgs.cs
- recordstatescratchpad.cs
- HttpConfigurationSystem.cs
- MailHeaderInfo.cs
- Drawing.cs
- ProviderSettingsCollection.cs
- EntityCollectionChangedParams.cs
- PackWebResponse.cs
- DataRowIndexBuffer.cs
- ExceptionList.cs
- ToolStripPanelRow.cs
- DoubleLinkListEnumerator.cs
- PagerSettings.cs
- NamespaceList.cs
- CompressEmulationStream.cs
- Baml2006KeyRecord.cs
- CodeMemberEvent.cs
- PackagePart.cs
- FileClassifier.cs
- TextParagraphView.cs
- SolidColorBrush.cs
- SegmentInfo.cs
- GreenMethods.cs
- SystemWebCachingSectionGroup.cs
- Pts.cs
- Condition.cs
- GeneralTransformGroup.cs
- SecurityPermission.cs
- EncryptedKey.cs
- HttpPostedFile.cs
- CompilerScopeManager.cs
- LinearGradientBrush.cs
- QuestionEventArgs.cs
- GatewayDefinition.cs
- InstanceCreationEditor.cs
- DateTimeFormat.cs
- TextAutomationPeer.cs
- TreeView.cs
- HiddenFieldPageStatePersister.cs
- UserPersonalizationStateInfo.cs
- ModifierKeysConverter.cs
- WebEventTraceProvider.cs
- ToolStripManager.cs
- DataSourceProvider.cs
- ProvidersHelper.cs
- AdornerHitTestResult.cs
- XmlComplianceUtil.cs
- EntityClassGenerator.cs
- ExpressionBindingCollection.cs
- ListDataHelper.cs
- MediaContext.cs
- SaveFileDialog.cs
- XmlElementList.cs
- PropertyDescriptor.cs
- GroupBoxRenderer.cs
- dataobject.cs
- MailHeaderInfo.cs
- WebDescriptionAttribute.cs
- SHA384.cs
- MultiByteCodec.cs
- ValidationHelpers.cs
- DataGridViewIntLinkedList.cs
- GeneralTransform3DTo2DTo3D.cs
- IndentedWriter.cs
- Decimal.cs
- Timer.cs
- SafeArrayTypeMismatchException.cs
- NativeWindow.cs
- LocalizableResourceBuilder.cs
- PermissionSetTriple.cs
- DataRelationPropertyDescriptor.cs
- CalendarTable.cs
- WSFederationHttpBinding.cs
- SessionEndingEventArgs.cs
- ToolboxDataAttribute.cs
- ProcessThread.cs
- SplitterPanel.cs
- ToolStripSeparator.cs
- SAPICategories.cs
- RepeaterCommandEventArgs.cs
- LinqDataSourceUpdateEventArgs.cs
- MessageTraceRecord.cs