Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataWeb / Server / System / Data / Services / Parsing / Token.cs / 1 / 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 { ///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 { ///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
- ReferenceSchema.cs
- DataRelationPropertyDescriptor.cs
- TreeNodeCollection.cs
- StrongNamePublicKeyBlob.cs
- QualifierSet.cs
- InputMethodStateTypeInfo.cs
- ZeroOpNode.cs
- Sql8ExpressionRewriter.cs
- TableMethodGenerator.cs
- WebResourceAttribute.cs
- EncoderParameters.cs
- CodeRegionDirective.cs
- EntityDataSourceReferenceGroup.cs
- SR.cs
- httpstaticobjectscollection.cs
- PropertyGrid.cs
- ListControl.cs
- NoResizeSelectionBorderGlyph.cs
- SpotLight.cs
- FloaterParagraph.cs
- LinkDescriptor.cs
- DataGridViewCellConverter.cs
- EditorZone.cs
- TextTreeDeleteContentUndoUnit.cs
- BulletedList.cs
- Lazy.cs
- DataRowExtensions.cs
- ImageListDesigner.cs
- PrePostDescendentsWalker.cs
- XmlILIndex.cs
- Int64.cs
- IisTraceWebEventProvider.cs
- DbProviderSpecificTypePropertyAttribute.cs
- XmlCountingReader.cs
- KeyTime.cs
- BufferedWebEventProvider.cs
- ISO2022Encoding.cs
- ConfigUtil.cs
- TextSimpleMarkerProperties.cs
- ThrowOnMultipleAssignment.cs
- TableItemStyle.cs
- Variant.cs
- CodeTypeReference.cs
- ReflectTypeDescriptionProvider.cs
- SqlNodeAnnotation.cs
- ObjectPropertyMapping.cs
- DropDownButton.cs
- CompilationSection.cs
- ClientCultureInfo.cs
- ProviderMetadataCachedInformation.cs
- ConfigXmlAttribute.cs
- AccessKeyManager.cs
- ECDiffieHellmanCngPublicKey.cs
- ConnectionManagementElement.cs
- NativeMethods.cs
- ModelMemberCollection.cs
- SqlTypeSystemProvider.cs
- StringCollectionMarkupSerializer.cs
- OdbcReferenceCollection.cs
- AttachInfo.cs
- GridViewColumnHeader.cs
- DependencyObject.cs
- QueryStatement.cs
- DataGridViewLinkColumn.cs
- Resources.Designer.cs
- PageStatePersister.cs
- MessageQueueCriteria.cs
- ServiceContractAttribute.cs
- ColorConvertedBitmapExtension.cs
- FileDialog.cs
- PageContent.cs
- DynamicPropertyHolder.cs
- DateTimeConstantAttribute.cs
- ImageSource.cs
- DbExpressionVisitor.cs
- SoapRpcServiceAttribute.cs
- KeyInterop.cs
- Rotation3DAnimation.cs
- DataBoundControl.cs
- TagMapCollection.cs
- DataServiceKeyAttribute.cs
- MonthCalendarDesigner.cs
- OLEDB_Enum.cs
- SqlBinder.cs
- ThemeInfoAttribute.cs
- TimeSpanValidator.cs
- Screen.cs
- CursorInteropHelper.cs
- TraceSource.cs
- PrtCap_Base.cs
- metadatamappinghashervisitor.cs
- ListViewInsertedEventArgs.cs
- SQLInt64Storage.cs
- UnsafeNativeMethodsTablet.cs
- ProfileInfo.cs
- ConnectionManagementElement.cs
- NavigationProgressEventArgs.cs
- XDRSchema.cs
- MimePart.cs
- DbDeleteCommandTree.cs