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
- ProvidePropertyAttribute.cs
- HealthMonitoringSection.cs
- TerminatingOperationBehavior.cs
- ModulesEntry.cs
- SspiWrapper.cs
- WebControl.cs
- HttpCookie.cs
- HtmlTextViewAdapter.cs
- DirectionalLight.cs
- TimeoutConverter.cs
- QuestionEventArgs.cs
- PauseStoryboard.cs
- TabRenderer.cs
- XmlSchemaExternal.cs
- TypeBuilderInstantiation.cs
- UnknownWrapper.cs
- BulletChrome.cs
- ActivityExecutionContextCollection.cs
- CharAnimationUsingKeyFrames.cs
- SingleAnimation.cs
- SrgsElementList.cs
- httpserverutility.cs
- BitmapEffectState.cs
- WindowsFormsSynchronizationContext.cs
- XamlBrushSerializer.cs
- ThemeInfoAttribute.cs
- DownloadProgressEventArgs.cs
- WindowsFormsHostAutomationPeer.cs
- VisualStateChangedEventArgs.cs
- FtpCachePolicyElement.cs
- Grant.cs
- ByteStack.cs
- SelectionGlyph.cs
- DateTimeParse.cs
- SvcMapFileLoader.cs
- HtmlPhoneCallAdapter.cs
- CompiledRegexRunner.cs
- ConfigXmlComment.cs
- XmlUnspecifiedAttribute.cs
- iisPickupDirectory.cs
- VersionedStream.cs
- StateInitializationDesigner.cs
- Int32Animation.cs
- CqlIdentifiers.cs
- PerSessionInstanceContextProvider.cs
- StorageConditionPropertyMapping.cs
- DefaultBindingPropertyAttribute.cs
- CodeIdentifiers.cs
- LocalizedNameDescriptionPair.cs
- Rfc2898DeriveBytes.cs
- FamilyMap.cs
- ToolStripItemRenderEventArgs.cs
- TextParagraphCache.cs
- Nodes.cs
- DynamicQueryStringParameter.cs
- StructureChangedEventArgs.cs
- HierarchicalDataBoundControlAdapter.cs
- BackoffTimeoutHelper.cs
- SystemPens.cs
- OperationInvokerBehavior.cs
- SelectionProviderWrapper.cs
- PropertyPushdownHelper.cs
- BitmapMetadata.cs
- PersonalizationProvider.cs
- LOSFormatter.cs
- SecurityManager.cs
- WrapperEqualityComparer.cs
- ExpanderAutomationPeer.cs
- InkCanvasInnerCanvas.cs
- Wildcard.cs
- ProcessModuleCollection.cs
- _ListenerResponseStream.cs
- ObjectManager.cs
- CustomAttribute.cs
- ConfigurationPermission.cs
- SafeEventHandle.cs
- QueryExtender.cs
- GiveFeedbackEventArgs.cs
- SchemaName.cs
- MinimizableAttributeTypeConverter.cs
- ElementHostPropertyMap.cs
- ScriptRef.cs
- TdsParserSessionPool.cs
- QilInvoke.cs
- AssemblyAttributesGoHere.cs
- SctClaimSerializer.cs
- CollectionView.cs
- RadioButtonStandardAdapter.cs
- XmlQueryType.cs
- StretchValidation.cs
- InvalidPropValue.cs
- Literal.cs
- TreeViewAutomationPeer.cs
- TextDataBindingHandler.cs
- ColorTypeConverter.cs
- DataServiceQueryProvider.cs
- TemplateBaseAction.cs
- PackUriHelper.cs
- XmlArrayAttribute.cs
- SQLBinary.cs