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
- ConditionCollection.cs
- KeyConstraint.cs
- NamespaceEmitter.cs
- ToolStripItemEventArgs.cs
- IgnoreFileBuildProvider.cs
- DetailsViewRow.cs
- ProgressBar.cs
- DocumentViewerBaseAutomationPeer.cs
- StateWorkerRequest.cs
- ProfileParameter.cs
- OracleDataAdapter.cs
- ProfileParameter.cs
- FilterQuery.cs
- ClickablePoint.cs
- FilterableAttribute.cs
- SqlCacheDependencySection.cs
- Publisher.cs
- OdbcCommand.cs
- DeviceContext2.cs
- SqlDelegatedTransaction.cs
- KeySpline.cs
- ControlOperationInvoker.cs
- TextSelectionHighlightLayer.cs
- WebPartMovingEventArgs.cs
- HttpCookieCollection.cs
- MD5.cs
- DBConnection.cs
- ZipIORawDataFileBlock.cs
- UInt32Storage.cs
- ObjectDataSourceDisposingEventArgs.cs
- XmlElementAttributes.cs
- CultureInfoConverter.cs
- RegisteredHiddenField.cs
- ListControlActionList.cs
- C14NUtil.cs
- EventProviderWriter.cs
- PageSettings.cs
- TemplatedWizardStep.cs
- Path.cs
- SafeRegistryKey.cs
- ReflectionServiceProvider.cs
- JsonReader.cs
- QilPatternVisitor.cs
- MultipleViewPattern.cs
- WebPartDisplayMode.cs
- Material.cs
- FileInfo.cs
- BinHexDecoder.cs
- ItemType.cs
- ToolStripSplitButton.cs
- FillErrorEventArgs.cs
- SqlUtil.cs
- MsmqVerifier.cs
- ScopelessEnumAttribute.cs
- RequestTimeoutManager.cs
- ValidatingReaderNodeData.cs
- MouseButtonEventArgs.cs
- XPathAncestorQuery.cs
- ResponseBodyWriter.cs
- precedingsibling.cs
- ImmutableObjectAttribute.cs
- PropertyBuilder.cs
- EpmTargetTree.cs
- CodeMethodInvokeExpression.cs
- ComPlusAuthorization.cs
- SeparatorAutomationPeer.cs
- MetabaseSettings.cs
- EventLogPermissionEntry.cs
- XsdDuration.cs
- AuthorizationRuleCollection.cs
- WebZone.cs
- LinkDescriptor.cs
- EndpointAddressElementBase.cs
- TypeLibConverter.cs
- DictionarySectionHandler.cs
- FixedSOMImage.cs
- SourceElementsCollection.cs
- ElementFactory.cs
- AppDomainUnloadedException.cs
- IntSecurity.cs
- DynamicUpdateCommand.cs
- XmlArrayItemAttributes.cs
- ObjectKeyFrameCollection.cs
- UnsafeNativeMethods.cs
- TextRangeProviderWrapper.cs
- WebReferencesBuildProvider.cs
- ChangePassword.cs
- EventLevel.cs
- ConstNode.cs
- Literal.cs
- WindowInteropHelper.cs
- PropertyIDSet.cs
- WebPartChrome.cs
- DesigntimeLicenseContext.cs
- SettingsSection.cs
- Deflater.cs
- DemultiplexingClientMessageFormatter.cs
- TreeView.cs
- XsltSettings.cs
- ImageButton.cs