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
- ToolboxItemAttribute.cs
- WsdlBuildProvider.cs
- FontWeight.cs
- DictionaryGlobals.cs
- CleanUpVirtualizedItemEventArgs.cs
- DispatcherExceptionEventArgs.cs
- IsolatedStorageException.cs
- webclient.cs
- TypeFieldSchema.cs
- AmbientLight.cs
- OleDbStruct.cs
- TextTreeObjectNode.cs
- DocumentCollection.cs
- HttpStreamMessage.cs
- Tile.cs
- DetailsViewInsertEventArgs.cs
- CodeTryCatchFinallyStatement.cs
- XsdValidatingReader.cs
- TextEditorCharacters.cs
- FileDialog_Vista.cs
- HttpResponseHeader.cs
- SoapProtocolReflector.cs
- PopupRootAutomationPeer.cs
- SEHException.cs
- SystemTcpConnection.cs
- NetworkStream.cs
- Transform.cs
- Container.cs
- RecipientInfo.cs
- RectangleGeometry.cs
- LogLogRecord.cs
- WizardPanelChangingEventArgs.cs
- CodeAttributeDeclarationCollection.cs
- SecureStringHasher.cs
- FormViewPagerRow.cs
- columnmapfactory.cs
- CodeCompiler.cs
- RuntimeWrappedException.cs
- COM2ColorConverter.cs
- DataSourceXmlSerializationAttribute.cs
- CheckBox.cs
- Helpers.cs
- OLEDB_Enum.cs
- OdbcConnectionOpen.cs
- HebrewNumber.cs
- ReadOnlyCollectionBase.cs
- ResourceSetExpression.cs
- XPathNode.cs
- precedingsibling.cs
- PartialList.cs
- DocumentReference.cs
- AppSettingsExpressionEditor.cs
- ADMembershipProvider.cs
- ReadOnlyPropertyMetadata.cs
- PointCollectionConverter.cs
- DataTableCollection.cs
- WebPartMovingEventArgs.cs
- InfiniteTimeSpanConverter.cs
- DeleteHelper.cs
- RemoteWebConfigurationHost.cs
- DataGridViewCellEventArgs.cs
- SystemMulticastIPAddressInformation.cs
- PieceNameHelper.cs
- Menu.cs
- StylusPlugInCollection.cs
- FrameworkObject.cs
- ApplicationContext.cs
- AssemblyNameProxy.cs
- DirectoryGroupQuery.cs
- ObjectAnimationUsingKeyFrames.cs
- DataGridViewCellParsingEventArgs.cs
- LambdaCompiler.Address.cs
- UpdateException.cs
- DocumentScope.cs
- SchemaElementDecl.cs
- ZipFileInfo.cs
- SynchronizedRandom.cs
- ChangeInterceptorAttribute.cs
- LinqMaximalSubtreeNominator.cs
- SmiEventSink_DeferedProcessing.cs
- ExeContext.cs
- XmlSchemaAnnotated.cs
- DebugView.cs
- CheckBoxList.cs
- AssemblyInfo.cs
- RadioButtonBaseAdapter.cs
- Popup.cs
- AggregateNode.cs
- hebrewshape.cs
- securitycriticaldataformultiplegetandset.cs
- MouseActionConverter.cs
- BehaviorEditorPart.cs
- BitmapEffectvisualstate.cs
- CommentEmitter.cs
- MobileUserControlDesigner.cs
- ComplexObject.cs
- PlatformCulture.cs
- StateChangeEvent.cs
- WebEventCodes.cs
- SessionChannels.cs