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
- SystemWebCachingSectionGroup.cs
- IfElseDesigner.xaml.cs
- TemplateControl.cs
- Padding.cs
- InvokeDelegate.cs
- SqlLiftIndependentRowExpressions.cs
- View.cs
- MultiByteCodec.cs
- CalendarDay.cs
- unsafeIndexingFilterStream.cs
- basemetadatamappingvisitor.cs
- UpdateTracker.cs
- ProjectionPruner.cs
- MsmqMessageSerializationFormat.cs
- ItemCheckEvent.cs
- XmlWrappingWriter.cs
- EntityDataSourceMemberPath.cs
- TimersDescriptionAttribute.cs
- TemplatedControlDesigner.cs
- BuildResultCache.cs
- TextEndOfSegment.cs
- ProcessHostConfigUtils.cs
- AssociationSetMetadata.cs
- FocusChangedEventArgs.cs
- AttributeUsageAttribute.cs
- QueryStringParameter.cs
- RangeValueProviderWrapper.cs
- ConfigurationLockCollection.cs
- WebHostScriptMappingsInstallComponent.cs
- OdbcInfoMessageEvent.cs
- WpfMemberInvoker.cs
- TextContainerHelper.cs
- TextContainer.cs
- PersonalizationProvider.cs
- FloatUtil.cs
- EpmSyndicationContentSerializer.cs
- Content.cs
- SharedUtils.cs
- BulletedList.cs
- IisTraceWebEventProvider.cs
- XhtmlConformanceSection.cs
- TitleStyle.cs
- ManagedIStream.cs
- UserControlParser.cs
- ComponentEditorPage.cs
- StyleModeStack.cs
- PrintDocument.cs
- EdgeModeValidation.cs
- BufferModeSettings.cs
- XmlTextReader.cs
- XmlSerializerAssemblyAttribute.cs
- MenuTracker.cs
- ImageButton.cs
- ProgressBar.cs
- SqlProvider.cs
- ValidationRuleCollection.cs
- SqlDataSource.cs
- TemplateField.cs
- TextElementEditingBehaviorAttribute.cs
- Win32SafeHandles.cs
- Rules.cs
- PublisherIdentityPermission.cs
- CodeIdentifiers.cs
- SqlRowUpdatingEvent.cs
- GeometryModel3D.cs
- HtmlInputRadioButton.cs
- ProcessProtocolHandler.cs
- Visual3D.cs
- PageThemeBuildProvider.cs
- QuerySelectOp.cs
- IndicShape.cs
- FontStretch.cs
- DataStorage.cs
- RangeBase.cs
- PixelFormatConverter.cs
- TransportConfigurationTypeElement.cs
- QueryGeneratorBase.cs
- DataServiceQuery.cs
- TabletCollection.cs
- SecondaryIndex.cs
- ContractBase.cs
- xmlfixedPageInfo.cs
- Style.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- IdentityReference.cs
- FileDialogPermission.cs
- ToolStripRendererSwitcher.cs
- __ComObject.cs
- KeyboardEventArgs.cs
- SingleAnimationBase.cs
- LinearGradientBrush.cs
- MimeMapping.cs
- SimpleMailWebEventProvider.cs
- LayoutEvent.cs
- MonthCalendar.cs
- SimpleTypeResolver.cs
- CultureTable.cs
- UInt16Storage.cs
- RangeValidator.cs
- StoryFragments.cs