Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Parsing / Token.cs / 1305376 / Token.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a type to represent a parsed token. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Parsing { using System; using System.Diagnostics; ///Use this class to represent a lexical token. [DebuggerDisplay("{Id} @ {Position}: [{Text}]")] internal struct Token { ///Token representing gt keyword internal static readonly Token GreaterThan = new Token { Text = ExpressionConstants.KeywordGreaterThan, Id = TokenId.Identifier, Position = 0 }; ///Token representing eq keyword internal static readonly Token EqualsTo = new Token { Text = ExpressionConstants.KeywordEqual, Id = TokenId.Identifier, Position = 0 }; ///Token representing lt keyword internal static readonly Token LessThan = new Token { Text = ExpressionConstants.KeywordLessThan, Id = TokenId.Identifier, Position = 0 }; ///Kind of token. internal TokenId Id; ///Token text. internal string Text; ///Position of token. internal int Position; ///Checks whether this token is a comparison operator. internal bool IsComparisonOperator { get { if (this.Id != TokenId.Identifier) { return false; } return this.Text == ExpressionConstants.KeywordEqual || this.Text == ExpressionConstants.KeywordNotEqual || this.Text == ExpressionConstants.KeywordLessThan || this.Text == ExpressionConstants.KeywordGreaterThan || this.Text == ExpressionConstants.KeywordLessThanOrEqual || this.Text == ExpressionConstants.KeywordGreaterThanOrEqual; } } ///Checks whether this token is an equality operator. internal bool IsEqualityOperator { get { return this.Id == TokenId.Identifier && (this.Text == ExpressionConstants.KeywordEqual || this.Text == ExpressionConstants.KeywordNotEqual); } } ///Checks whether this token is a valid token for a key value. internal bool IsKeyValueToken { get { return this.Id == TokenId.BinaryLiteral || this.Id == TokenId.BooleanLiteral || this.Id == TokenId.DateTimeLiteral || this.Id == TokenId.GuidLiteral || this.Id == TokenId.StringLiteral || ExpressionLexer.IsNumeric(this.Id); } } ///Provides a string representation of this token. ///String representation of this token. public override string ToString() { return String.Format(System.Globalization.CultureInfo.InvariantCulture, "{0} @ {1}: [{2}]", this.Id, this.Position, this.Text); } ///Gets the current identifier text. ///The current identifier text. internal string GetIdentifier() { if (this.Id != TokenId.Identifier) { throw DataServiceException.CreateSyntaxError(Strings.RequestQueryParser_IdentifierExpected(this.Position)); } return this.Text; } ///Checks that this token has the specified identifier. /// Identifier to check. ///true if this is an identifier with the specified text. internal bool IdentifierIs(string id) { return this.Id == TokenId.Identifier && this.Text == id; } } } // 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
- NavigationProgressEventArgs.cs
- TextElementEnumerator.cs
- PageContent.cs
- LineSegment.cs
- DateTimeFormatInfoScanner.cs
- SchemaConstraints.cs
- RegexCode.cs
- HtmlToClrEventProxy.cs
- SqlUtil.cs
- Types.cs
- TextViewSelectionProcessor.cs
- NullRuntimeConfig.cs
- EntityCollection.cs
- XmlSchemaSearchPattern.cs
- WorkflowControlClient.cs
- DataObjectMethodAttribute.cs
- StateDesigner.Layouts.cs
- SiteMembershipCondition.cs
- DataObject.cs
- Site.cs
- JoinSymbol.cs
- MDIControlStrip.cs
- CancellationHandlerDesigner.cs
- HtmlWindow.cs
- XPathMultyIterator.cs
- OutOfMemoryException.cs
- TimeSpanHelper.cs
- ProfileBuildProvider.cs
- DataSourceControlBuilder.cs
- SoapAttributeOverrides.cs
- ModelUIElement3D.cs
- AdvancedBindingEditor.cs
- DBProviderConfigurationHandler.cs
- BmpBitmapEncoder.cs
- ISCIIEncoding.cs
- RemoteWebConfigurationHost.cs
- FixedDSBuilder.cs
- Sentence.cs
- ExpressionBindings.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- Drawing.cs
- FileUpload.cs
- RectValueSerializer.cs
- TypeConverterHelper.cs
- ConfigurationLoader.cs
- AggregateNode.cs
- SignedXml.cs
- AliasGenerator.cs
- BitmapFrame.cs
- ReturnEventArgs.cs
- StylusSystemGestureEventArgs.cs
- FrameworkPropertyMetadata.cs
- CryptoHelper.cs
- ToolStripHighContrastRenderer.cs
- XsdBuilder.cs
- DataTableMappingCollection.cs
- SendAgentStatusRequest.cs
- SymmetricAlgorithm.cs
- ToolStripArrowRenderEventArgs.cs
- WebPartConnectVerb.cs
- Parsers.cs
- HtmlSelectionListAdapter.cs
- ImageDrawing.cs
- RelationshipEndMember.cs
- HttpContextBase.cs
- GenericPrincipal.cs
- TemplateBuilder.cs
- DispatcherProcessingDisabled.cs
- GradientStop.cs
- EntityContainerEmitter.cs
- UIntPtr.cs
- ArrangedElementCollection.cs
- WebEventTraceProvider.cs
- LinqDataSourceView.cs
- DecimalAnimationUsingKeyFrames.cs
- ResourceDescriptionAttribute.cs
- InstalledVoice.cs
- TargetFrameworkUtil.cs
- CodeChecksumPragma.cs
- StorageScalarPropertyMapping.cs
- DispatcherTimer.cs
- NullReferenceException.cs
- TypefaceMetricsCache.cs
- JavaScriptObjectDeserializer.cs
- ControlHelper.cs
- TCPListener.cs
- FormViewDeleteEventArgs.cs
- LoadItemsEventArgs.cs
- SelectionPatternIdentifiers.cs
- BaseCodeDomTreeGenerator.cs
- DictionaryCustomTypeDescriptor.cs
- DataObject.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ModifiableIteratorCollection.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- sitestring.cs
- SqlInternalConnectionSmi.cs
- ColorMap.cs
- Transactions.cs
- ObjectDataSourceEventArgs.cs