Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- //// 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
- ScaleTransform.cs
- WebPartManagerInternals.cs
- TextElementEnumerator.cs
- AssemblyResourceLoader.cs
- ProviderManager.cs
- MenuItemStyleCollection.cs
- DataKey.cs
- Menu.cs
- ConfigurationStrings.cs
- LexicalChunk.cs
- WindowsPrincipal.cs
- ActiveDocumentEvent.cs
- MyContact.cs
- AsyncOperation.cs
- ObjectDataSourceFilteringEventArgs.cs
- PrtCap_Builder.cs
- WebServiceData.cs
- MailAddress.cs
- SqlConnectionManager.cs
- MultiView.cs
- FlowPosition.cs
- Int32RectConverter.cs
- MouseButton.cs
- Version.cs
- ControllableStoryboardAction.cs
- SQLGuidStorage.cs
- SchemaNotation.cs
- IssuanceTokenProviderBase.cs
- SevenBitStream.cs
- IdentityValidationException.cs
- MetadataWorkspace.cs
- LinkButton.cs
- SafeFileMappingHandle.cs
- ObjRef.cs
- AsyncResult.cs
- ValueQuery.cs
- BindingsSection.cs
- ElementsClipboardData.cs
- AttachedPropertyDescriptor.cs
- PrimitiveXmlSerializers.cs
- FieldNameLookup.cs
- DecoderBestFitFallback.cs
- ValidatedControlConverter.cs
- COM2EnumConverter.cs
- IgnoreSectionHandler.cs
- DataQuery.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- messageonlyhwndwrapper.cs
- Compiler.cs
- ISCIIEncoding.cs
- DataGridViewTextBoxColumn.cs
- EncryptedData.cs
- WebPartCatalogAddVerb.cs
- RuleAttributes.cs
- DataTableNameHandler.cs
- PeerSecurityHelpers.cs
- RegexReplacement.cs
- Int32AnimationUsingKeyFrames.cs
- LinkedResource.cs
- CmsInterop.cs
- GPRECTF.cs
- RotationValidation.cs
- Button.cs
- PrintPreviewDialog.cs
- SimpleTextLine.cs
- TextRangeSerialization.cs
- DataBinding.cs
- MaskedTextProvider.cs
- SHA512.cs
- XmlSchemaAttribute.cs
- SpotLight.cs
- CatalogPartCollection.cs
- AutoGeneratedFieldProperties.cs
- VisualBrush.cs
- ObjectDataSourceEventArgs.cs
- XPathNodeIterator.cs
- WebPartEditVerb.cs
- Stack.cs
- XmlSchemaAttribute.cs
- RotateTransform3D.cs
- DefaultAsyncDataDispatcher.cs
- XamlPathDataSerializer.cs
- TouchPoint.cs
- HtmlInputImage.cs
- FieldDescriptor.cs
- Opcode.cs
- View.cs
- WebHttpBinding.cs
- CatalogZone.cs
- TextServicesDisplayAttributePropertyRanges.cs
- XmlUtf8RawTextWriter.cs
- ProjectionCamera.cs
- remotingproxy.cs
- SymbolType.cs
- _UriTypeConverter.cs
- XmlnsCache.cs
- PersonalizationEntry.cs
- HtmlImage.cs
- RecognizeCompletedEventArgs.cs
- _SslSessionsCache.cs