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
- XmlDocumentType.cs
- EntityContainer.cs
- SafeFindHandle.cs
- HtmlLink.cs
- HScrollBar.cs
- RectAnimation.cs
- Menu.cs
- DocumentApplicationJournalEntry.cs
- MethodRental.cs
- PrintPreviewControl.cs
- DetailsViewPagerRow.cs
- CodeArgumentReferenceExpression.cs
- KerberosRequestorSecurityToken.cs
- DockProviderWrapper.cs
- SplitContainer.cs
- StorageSetMapping.cs
- FigureHelper.cs
- WindowsToolbar.cs
- HtmlInputButton.cs
- HtmlTextViewAdapter.cs
- DesignConnection.cs
- DbConnectionInternal.cs
- cookiecollection.cs
- LineVisual.cs
- Errors.cs
- BamlBinaryWriter.cs
- DataList.cs
- PrimaryKeyTypeConverter.cs
- EntityContainerAssociationSet.cs
- CroppedBitmap.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ProfessionalColorTable.cs
- log.cs
- SearchForVirtualItemEventArgs.cs
- ParallelEnumerable.cs
- NativeMethods.cs
- ComIntegrationManifestGenerator.cs
- TableLayoutSettings.cs
- XsdCachingReader.cs
- Int32Animation.cs
- ListBindingConverter.cs
- PreservationFileReader.cs
- ListParaClient.cs
- ValueOfAction.cs
- DataMemberConverter.cs
- DataGridViewComponentPropertyGridSite.cs
- HashRepartitionStream.cs
- PerspectiveCamera.cs
- CodeAccessSecurityEngine.cs
- WebPartManager.cs
- ComUdtElement.cs
- MexTcpBindingElement.cs
- ObjectStorage.cs
- FrameSecurityDescriptor.cs
- ShutDownListener.cs
- ImagingCache.cs
- LogicalExpr.cs
- CodeStatementCollection.cs
- SizeLimitedCache.cs
- Misc.cs
- SemaphoreFullException.cs
- FocusManager.cs
- ReturnValue.cs
- StylusPlugin.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- MessageSecurityOverTcpElement.cs
- MailWebEventProvider.cs
- PublisherMembershipCondition.cs
- SHA512Cng.cs
- DataControlCommands.cs
- ConstantExpression.cs
- ValidationVisibilityAttribute.cs
- TypefaceMap.cs
- GridViewRowEventArgs.cs
- DataGridViewComboBoxEditingControl.cs
- SqlRecordBuffer.cs
- RegexRunner.cs
- LayoutEngine.cs
- XmlCustomFormatter.cs
- HtmlLabelAdapter.cs
- ErrorEventArgs.cs
- EntityCommandCompilationException.cs
- DataTableMapping.cs
- PrimarySelectionAdorner.cs
- DeploymentSectionCache.cs
- UrlAuthFailedErrorFormatter.cs
- RichTextBox.cs
- VisualProxy.cs
- DataGridViewDesigner.cs
- ToolStripTextBox.cs
- ExpressionBuilder.cs
- WeakReference.cs
- basemetadatamappingvisitor.cs
- TextTreeTextBlock.cs
- CacheEntry.cs
- OutputScope.cs
- Focus.cs
- StylusPointCollection.cs
- InvokeWebServiceDesigner.cs
- IBuiltInEvidence.cs