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
- InstanceNameConverter.cs
- Menu.cs
- MessageHeaderException.cs
- TextParaLineResult.cs
- Header.cs
- ErrorRuntimeConfig.cs
- ChangesetResponse.cs
- XmlAtomicValue.cs
- ValidationPropertyAttribute.cs
- TableLayoutPanelCellPosition.cs
- LinkedResourceCollection.cs
- ConstrainedDataObject.cs
- DurableInstanceProvider.cs
- SingleResultAttribute.cs
- TableParagraph.cs
- _NtlmClient.cs
- WebPartVerb.cs
- PaperSource.cs
- ApplicationId.cs
- TranslateTransform.cs
- JsonUriDataContract.cs
- AssociatedControlConverter.cs
- SortKey.cs
- relpropertyhelper.cs
- ControlParser.cs
- BaseTemplateParser.cs
- HtmlShim.cs
- Trigger.cs
- EntryIndex.cs
- TypeUtils.cs
- MatrixConverter.cs
- SqlBulkCopyColumnMappingCollection.cs
- NodeInfo.cs
- AppearanceEditorPart.cs
- RequestCachePolicy.cs
- DecimalAnimation.cs
- Translator.cs
- OperationPerformanceCounters.cs
- BaseCollection.cs
- ImportCatalogPart.cs
- PrintPreviewControl.cs
- LinkedList.cs
- FixedBufferAttribute.cs
- WorkflowViewStateService.cs
- DataContext.cs
- Type.cs
- WpfGeneratedKnownProperties.cs
- Perspective.cs
- ProgressBarRenderer.cs
- PenCursorManager.cs
- smtppermission.cs
- Animatable.cs
- SessionStateModule.cs
- MessageSecurityOverMsmqElement.cs
- Permission.cs
- ActivityBindForm.cs
- ToolStripDropDownMenu.cs
- CreateUserErrorEventArgs.cs
- ExpandableObjectConverter.cs
- HttpResponseInternalBase.cs
- FlowLayoutPanel.cs
- ContextDataSourceContextData.cs
- RecordBuilder.cs
- Crc32.cs
- CallSiteHelpers.cs
- AuthorizationRuleCollection.cs
- UnsafeCollabNativeMethods.cs
- BamlResourceContent.cs
- EntitySetDataBindingList.cs
- MsmqOutputMessage.cs
- CreateUserWizardDesigner.cs
- SelectionRangeConverter.cs
- AttributedMetaModel.cs
- TextViewSelectionProcessor.cs
- IWorkflowDebuggerService.cs
- BufferedResponseStream.cs
- Assert.cs
- MsmqTransportSecurityElement.cs
- ScopelessEnumAttribute.cs
- TableStyle.cs
- ToolStripInSituService.cs
- URI.cs
- SHA256.cs
- Asn1IntegerConverter.cs
- FileDetails.cs
- DefaultPropertiesToSend.cs
- TransferRequestHandler.cs
- HtmlTable.cs
- ReachVisualSerializer.cs
- Matrix3DConverter.cs
- JsonDataContract.cs
- XmlCompatibilityReader.cs
- IfAction.cs
- WmlSelectionListAdapter.cs
- XmlAnyElementAttribute.cs
- BuildDependencySet.cs
- CollectionTypeElement.cs
- GeneralTransform3DGroup.cs
- JavaScriptObjectDeserializer.cs
- ConfigurationManager.cs