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
- HelpInfo.cs
- StylusPointPropertyInfoDefaults.cs
- EventDescriptor.cs
- RotateTransform.cs
- DSACryptoServiceProvider.cs
- BindingGraph.cs
- ActivityDesignerResources.cs
- ApplicationSecurityManager.cs
- ViewCellSlot.cs
- SignatureDescription.cs
- DBSchemaRow.cs
- DataTable.cs
- PassportAuthentication.cs
- ListBindingConverter.cs
- UnsafePeerToPeerMethods.cs
- EntityAdapter.cs
- PointLightBase.cs
- AnimationClockResource.cs
- SQLRoleProvider.cs
- XslTransformFileEditor.cs
- PointAnimationUsingPath.cs
- Message.cs
- DesignerProperties.cs
- EnvelopedSignatureTransform.cs
- InitializerFacet.cs
- ServiceDescriptionReflector.cs
- TableAdapterManagerMethodGenerator.cs
- DataSpaceManager.cs
- PositiveTimeSpanValidator.cs
- EastAsianLunisolarCalendar.cs
- PolicyLevel.cs
- DbConnectionStringBuilder.cs
- SimpleRecyclingCache.cs
- ReadOnlyAttribute.cs
- StringCollectionMarkupSerializer.cs
- NullableFloatMinMaxAggregationOperator.cs
- GroupBox.cs
- SessionStateSection.cs
- PersistenceProvider.cs
- Thickness.cs
- TextCollapsingProperties.cs
- initElementDictionary.cs
- ResourcesChangeInfo.cs
- CursorInteropHelper.cs
- ProgramNode.cs
- StorageModelBuildProvider.cs
- DataProtection.cs
- ExtentKey.cs
- QuaternionAnimation.cs
- Util.cs
- ImpersonationContext.cs
- ThousandthOfEmRealPoints.cs
- AvTraceDetails.cs
- DbProviderFactoriesConfigurationHandler.cs
- SelectionPattern.cs
- OpacityConverter.cs
- RichTextBox.cs
- StateMachineTimers.cs
- HtmlFormWrapper.cs
- dataprotectionpermission.cs
- ContentPlaceHolder.cs
- EncodingInfo.cs
- PropertyToken.cs
- CodeTypeConstructor.cs
- UrlMappingsModule.cs
- PageThemeBuildProvider.cs
- DurableInstanceProvider.cs
- XamlParser.cs
- ViewBox.cs
- XsdDuration.cs
- KoreanLunisolarCalendar.cs
- SHA256CryptoServiceProvider.cs
- OdbcConnectionOpen.cs
- IPAddressCollection.cs
- MissingManifestResourceException.cs
- OpenTypeCommon.cs
- XamlTreeBuilderBamlRecordWriter.cs
- RequestContextBase.cs
- SiteMapSection.cs
- RIPEMD160.cs
- GridViewCancelEditEventArgs.cs
- PolyBezierSegment.cs
- StaticSiteMapProvider.cs
- BuildProvider.cs
- ToolboxItem.cs
- EventLogPermissionEntryCollection.cs
- ServiceOperation.cs
- TextServicesCompartment.cs
- PermissionSetTriple.cs
- HtmlSelect.cs
- ZipIOModeEnforcingStream.cs
- loginstatus.cs
- HostingPreferredMapPath.cs
- DebugInfoGenerator.cs
- HttpCookieCollection.cs
- StringUtil.cs
- MaskedTextBox.cs
- ListViewGroupItemCollection.cs
- DoubleIndependentAnimationStorage.cs
- FixedSOMPageElement.cs