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
- RowSpanVector.cs
- ResolveMatchesMessage11.cs
- ItemsPanelTemplate.cs
- ProgressBar.cs
- MenuItemStyleCollection.cs
- ImageCodecInfo.cs
- ThicknessAnimation.cs
- ColumnMapProcessor.cs
- Property.cs
- EntityException.cs
- CheckBoxBaseAdapter.cs
- FormsAuthenticationCredentials.cs
- XmlQueryOutput.cs
- CommandID.cs
- ProviderSettings.cs
- SqlEnums.cs
- UIElementIsland.cs
- Stylus.cs
- _DomainName.cs
- PaperSize.cs
- WinFormsSecurity.cs
- IUnknownConstantAttribute.cs
- TextEditorCharacters.cs
- StrokeCollectionConverter.cs
- DataListAutoFormat.cs
- HttpSocketManager.cs
- SqlClientMetaDataCollectionNames.cs
- SharedUtils.cs
- ToolboxDataAttribute.cs
- CssClassPropertyAttribute.cs
- LocalizationParserHooks.cs
- MessageFilterException.cs
- AsyncResult.cs
- SmtpMail.cs
- XamlRtfConverter.cs
- InstanceKey.cs
- CodeObject.cs
- Section.cs
- TextFormatter.cs
- ActivityAction.cs
- Pool.cs
- RestHandler.cs
- XmlSchemaGroupRef.cs
- ColumnWidthChangingEvent.cs
- ExpressionStringBuilder.cs
- SelfIssuedTokenFactoryCredential.cs
- CommonGetThemePartSize.cs
- BinaryFormatter.cs
- ConfigXmlReader.cs
- DiscreteKeyFrames.cs
- SqlTypesSchemaImporter.cs
- UpdatePanelTriggerCollection.cs
- MatrixUtil.cs
- AuthenticationManager.cs
- PermissionSetEnumerator.cs
- objectquery_tresulttype.cs
- DataGridViewComboBoxCell.cs
- NetNamedPipeSecurityElement.cs
- SByteStorage.cs
- ToolStripItemRenderEventArgs.cs
- ColumnHeaderConverter.cs
- SqlDataSourceCache.cs
- ECDiffieHellman.cs
- Mutex.cs
- XmlSortKey.cs
- SecurityResources.cs
- WinInetCache.cs
- Brushes.cs
- ISAPIRuntime.cs
- LocalizationComments.cs
- HttpCacheVary.cs
- WebPartConnectionCollection.cs
- HtmlInputSubmit.cs
- filewebrequest.cs
- LayoutExceptionEventArgs.cs
- XmlNodeComparer.cs
- OLEDB_Enum.cs
- XmlWrappingReader.cs
- CollectionChangeEventArgs.cs
- OleDbSchemaGuid.cs
- EntitySet.cs
- EntityViewContainer.cs
- SafeRightsManagementPubHandle.cs
- Base64Stream.cs
- TraceContextRecord.cs
- WpfXamlLoader.cs
- GlobalItem.cs
- ProviderException.cs
- controlskin.cs
- SparseMemoryStream.cs
- XmlDownloadManager.cs
- ReaderWriterLockWrapper.cs
- CodeTypeReferenceExpression.cs
- ReaderWriterLockWrapper.cs
- OleDbCommand.cs
- Floater.cs
- DateTimeConstantAttribute.cs
- LogPolicy.cs
- TextLine.cs
- ConstantSlot.cs