Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- CallbackException.cs
- VScrollProperties.cs
- TextEmbeddedObject.cs
- Int64Converter.cs
- ListViewGroupItemCollection.cs
- DataServiceEntityAttribute.cs
- HtmlShim.cs
- FontStretch.cs
- AppDomainShutdownMonitor.cs
- HandleRef.cs
- ThreadStateException.cs
- SqlDataAdapter.cs
- InternalUserCancelledException.cs
- SkipStoryboardToFill.cs
- SmtpDateTime.cs
- SchemaDeclBase.cs
- ArrayExtension.cs
- XmlCountingReader.cs
- EdmError.cs
- EntityModelSchemaGenerator.cs
- RangeBase.cs
- AttributeEmitter.cs
- LicenseManager.cs
- OdbcStatementHandle.cs
- ColorMap.cs
- NullNotAllowedCollection.cs
- EntityModelSchemaGenerator.cs
- Track.cs
- BuildProviderAppliesToAttribute.cs
- ColorInterpolationModeValidation.cs
- XmlUtil.cs
- HttpCapabilitiesSectionHandler.cs
- SelectionListDesigner.cs
- XpsS0ValidatingLoader.cs
- ProjectionCamera.cs
- ElementAction.cs
- EnumerableValidator.cs
- PropertyTab.cs
- ApplicationInterop.cs
- HttpServerVarsCollection.cs
- Int32CollectionValueSerializer.cs
- ImageListImageEditor.cs
- OracleConnectionString.cs
- SymLanguageVendor.cs
- SplitterPanel.cs
- ContentIterators.cs
- DrawingContextWalker.cs
- SizeChangedInfo.cs
- Parser.cs
- AnnotationHelper.cs
- ServerValidateEventArgs.cs
- TextCompositionEventArgs.cs
- SystemResourceHost.cs
- SelectionWordBreaker.cs
- CapabilitiesAssignment.cs
- SurrogateSelector.cs
- MatrixCamera.cs
- ZipPackage.cs
- GetCardDetailsRequest.cs
- ErrorProvider.cs
- DictionaryChange.cs
- TableLayoutColumnStyleCollection.cs
- StoryFragments.cs
- PathParser.cs
- CodeBlockBuilder.cs
- Column.cs
- SoapSchemaMember.cs
- XmlExpressionDumper.cs
- DataControlFieldHeaderCell.cs
- Screen.cs
- WindowsComboBox.cs
- OletxCommittableTransaction.cs
- EventDriven.cs
- SQLInt32Storage.cs
- WindowInteropHelper.cs
- DBConcurrencyException.cs
- TextTreeRootTextBlock.cs
- StretchValidation.cs
- MemberRestriction.cs
- CoreSwitches.cs
- LexicalChunk.cs
- DesigntimeLicenseContextSerializer.cs
- TriState.cs
- FixedTextContainer.cs
- ExpressionBuilderCollection.cs
- CapabilitiesSection.cs
- Collection.cs
- DataGridRow.cs
- OperatingSystem.cs
- ToolStripPanelSelectionBehavior.cs
- PreviewKeyDownEventArgs.cs
- FrameworkElement.cs
- Regex.cs
- ArraySubsetEnumerator.cs
- ColorPalette.cs
- SafeRegistryHandle.cs
- XmlFormatExtensionPointAttribute.cs
- ValidationError.cs
- EncryptedType.cs
- DrawingGroupDrawingContext.cs