Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- CalculatedColumn.cs
- SecurityPolicySection.cs
- InitializationEventAttribute.cs
- HtmlInputImage.cs
- FontCollection.cs
- Int32Collection.cs
- RowUpdatedEventArgs.cs
- JavaScriptObjectDeserializer.cs
- Triangle.cs
- Security.cs
- SqlRowUpdatingEvent.cs
- ModelUtilities.cs
- XmlConvert.cs
- SequentialWorkflowHeaderFooter.cs
- ContextMenuStrip.cs
- SQLGuid.cs
- PrintDialogException.cs
- ProfileBuildProvider.cs
- EnumUnknown.cs
- FontDialog.cs
- TextDpi.cs
- IDispatchConstantAttribute.cs
- InternalUserCancelledException.cs
- Span.cs
- Point.cs
- ReturnType.cs
- SecurityPermission.cs
- ValidatingReaderNodeData.cs
- ToolStripMenuItemDesigner.cs
- EditorZoneBase.cs
- EntityEntry.cs
- _CookieModule.cs
- CopyEncoder.cs
- TextSpan.cs
- ClientSponsor.cs
- IncrementalReadDecoders.cs
- ContentDisposition.cs
- AppDomainAttributes.cs
- AtomServiceDocumentSerializer.cs
- OdbcTransaction.cs
- BadImageFormatException.cs
- BitmapEffect.cs
- ContainerUtilities.cs
- ISFTagAndGuidCache.cs
- ObjectListTitleAttribute.cs
- RelationshipConverter.cs
- httpstaticobjectscollection.cs
- DataGridPagerStyle.cs
- ReadOnlyDictionary.cs
- GenerateScriptTypeAttribute.cs
- SimpleTypeResolver.cs
- sqlser.cs
- ValidatorCompatibilityHelper.cs
- Currency.cs
- CustomErrorCollection.cs
- Compress.cs
- LinqToSqlWrapper.cs
- DocumentXmlWriter.cs
- RectConverter.cs
- MiniConstructorInfo.cs
- CharacterHit.cs
- InternalSafeNativeMethods.cs
- WebBrowserProgressChangedEventHandler.cs
- ImageListUtils.cs
- KeyValuePair.cs
- UrlMapping.cs
- Vars.cs
- EntityContainerRelationshipSet.cs
- TimeIntervalCollection.cs
- DiscoveryExceptionDictionary.cs
- ProfileGroupSettings.cs
- InheritanceContextChangedEventManager.cs
- SchemaTypeEmitter.cs
- DynamicObject.cs
- AccessViolationException.cs
- AddressHeader.cs
- TreeNodeCollection.cs
- XhtmlBasicLabelAdapter.cs
- Model3D.cs
- AppDomainProtocolHandler.cs
- XPathDocument.cs
- RectangleF.cs
- FigureHelper.cs
- SmiRecordBuffer.cs
- ServiceInfo.cs
- DetailsViewDeletedEventArgs.cs
- SecUtil.cs
- ParallelLoopState.cs
- ACL.cs
- UrlPropertyAttribute.cs
- InputProviderSite.cs
- GridViewColumn.cs
- LogLogRecordHeader.cs
- OrderedDictionaryStateHelper.cs
- TemplateParser.cs
- StyleSheetDesigner.cs
- TreeWalker.cs
- SchemaNames.cs
- ScriptResourceAttribute.cs
- __ConsoleStream.cs