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
- SpellerStatusTable.cs
- LinqDataSourceEditData.cs
- SafeLocalAllocation.cs
- PeerNameRecordCollection.cs
- PrinterSettings.cs
- BadImageFormatException.cs
- Model3D.cs
- LicenseManager.cs
- ControlCollection.cs
- MessageParameterAttribute.cs
- ImportCatalogPart.cs
- BinaryReader.cs
- EmitterCache.cs
- FunctionImportMapping.cs
- TemplateBindingExtension.cs
- EntityAdapter.cs
- WorkflowControlEndpoint.cs
- DynamicPropertyReader.cs
- IdentityHolder.cs
- login.cs
- Binding.cs
- DispatcherFrame.cs
- VersionUtil.cs
- PenThread.cs
- TypeUtils.cs
- ApplicationSecurityInfo.cs
- Opcode.cs
- Route.cs
- SqlHelper.cs
- COM2Properties.cs
- ResXResourceReader.cs
- HtmlWindow.cs
- EmissiveMaterial.cs
- Compress.cs
- DataGridItemCollection.cs
- AutomationElementCollection.cs
- FeatureAttribute.cs
- Util.cs
- WebPartConnectVerb.cs
- TextRange.cs
- Mapping.cs
- IDReferencePropertyAttribute.cs
- AddressAccessDeniedException.cs
- DnsEndPoint.cs
- XmlSchemaSimpleTypeList.cs
- FrameworkTextComposition.cs
- MapPathBasedVirtualPathProvider.cs
- ColorInterpolationModeValidation.cs
- DataFormats.cs
- DrawingContextWalker.cs
- WorkflowExecutor.cs
- RegexCode.cs
- BitmapEffectDrawing.cs
- Empty.cs
- X509CertificateValidator.cs
- ChannelServices.cs
- Activity.cs
- PropertyBuilder.cs
- CodePrimitiveExpression.cs
- WebResourceAttribute.cs
- SessionParameter.cs
- WorkflowInstanceProxy.cs
- TagMapInfo.cs
- ToolStripMenuItem.cs
- PointAnimationUsingKeyFrames.cs
- BinaryCommonClasses.cs
- PolicyLevel.cs
- ConfigXmlAttribute.cs
- OleAutBinder.cs
- BlobPersonalizationState.cs
- DefaultTextStoreTextComposition.cs
- AttributeCollection.cs
- TrustSection.cs
- DESCryptoServiceProvider.cs
- SqlUserDefinedTypeAttribute.cs
- xdrvalidator.cs
- AccessDataSource.cs
- CustomActivityDesigner.cs
- Package.cs
- ConcatQueryOperator.cs
- CqlParser.cs
- HashSetEqualityComparer.cs
- HttpClientCertificate.cs
- TemplatedEditableDesignerRegion.cs
- WpfSharedBamlSchemaContext.cs
- RemoteTokenFactory.cs
- LockRecursionException.cs
- ADMembershipProvider.cs
- Span.cs
- ListBoxItem.cs
- PopOutPanel.cs
- DataPagerFieldCollection.cs
- EndpointInfo.cs
- ServiceChannelProxy.cs
- JumpPath.cs
- BooleanToVisibilityConverter.cs
- InfoCardAsymmetricCrypto.cs
- CollectionsUtil.cs
- FormatException.cs
- DataPagerFieldCommandEventArgs.cs