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
- DataRowExtensions.cs
- Timer.cs
- ByteStream.cs
- TemplateControlCodeDomTreeGenerator.cs
- SourceSwitch.cs
- ComplusTypeValidator.cs
- SecurityCriticalDataForSet.cs
- StructuredType.cs
- AuthenticationManager.cs
- Attributes.cs
- DetailsView.cs
- LogicalExpr.cs
- EditorPartDesigner.cs
- ContactManager.cs
- ToolBarButtonClickEvent.cs
- COM2Enum.cs
- SqlStream.cs
- ServiceOperationInvoker.cs
- SqlClientWrapperSmiStream.cs
- SignedInfo.cs
- XmlSignificantWhitespace.cs
- XmlSchemaSimpleContent.cs
- _SafeNetHandles.cs
- _ConnectionGroup.cs
- CodeEventReferenceExpression.cs
- SystemDiagnosticsSection.cs
- TimeoutException.cs
- PageStatePersister.cs
- MenuScrollingVisibilityConverter.cs
- PreviewControlDesigner.cs
- XmlDeclaration.cs
- UnknownWrapper.cs
- MemoryResponseElement.cs
- TimelineClockCollection.cs
- XamlToRtfWriter.cs
- StringCollection.cs
- TriggerCollection.cs
- SystemTcpStatistics.cs
- GiveFeedbackEvent.cs
- Bezier.cs
- ServiceObjectContainer.cs
- ConnectionStringSettings.cs
- ETagAttribute.cs
- StorageSetMapping.cs
- _SslStream.cs
- TargetInvocationException.cs
- SQLByte.cs
- CodeStatement.cs
- ToolboxItemFilterAttribute.cs
- PassportAuthentication.cs
- ContainsRowNumberChecker.cs
- ValuePattern.cs
- ScrollChangedEventArgs.cs
- DocumentApplicationState.cs
- Button.cs
- RtfToken.cs
- CommonProperties.cs
- DiscoveryClientProtocol.cs
- Point3DCollection.cs
- CqlIdentifiers.cs
- Grant.cs
- MatrixTransform3D.cs
- FileStream.cs
- DisplayClaim.cs
- GuidelineCollection.cs
- FixedPageProcessor.cs
- FilteredAttributeCollection.cs
- DataStreamFromComStream.cs
- util.cs
- StringConcat.cs
- TargetConverter.cs
- _SSPIWrapper.cs
- MemberDescriptor.cs
- ObjectHandle.cs
- BinaryCommonClasses.cs
- Function.cs
- RegexRunnerFactory.cs
- CustomAttributeFormatException.cs
- MemberPath.cs
- XmlDictionaryReaderQuotas.cs
- TextSelectionProcessor.cs
- ExpressionVisitor.cs
- XmlWriterTraceListener.cs
- FactoryGenerator.cs
- FontFamilyIdentifier.cs
- Point3DIndependentAnimationStorage.cs
- ProtectedConfigurationProviderCollection.cs
- Wizard.cs
- CompilerScopeManager.cs
- recordstatefactory.cs
- SqlCachedBuffer.cs
- InternalCache.cs
- GroupByExpressionRewriter.cs
- MouseGestureConverter.cs
- InvalidCommandTreeException.cs
- XamlBuildTaskServices.cs
- XmlConvert.cs
- MetadataItem.cs
- HttpException.cs
- BrowserCapabilitiesFactoryBase.cs