Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / EntitySql / AST / Identifier.cs / 1305376 / Identifier.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- namespace System.Data.Common.EntitySql.AST { using System; using System.Globalization; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Text; ////// Represents an identifier ast node. /// internal sealed class Identifier : Node { private readonly string _name; private readonly bool _isEscaped; ////// Initializes identifier. /// internal Identifier(string symbol, bool isEscaped, string query, int inputPos) : base(query, inputPos) { Debug.Assert(!String.IsNullOrEmpty(symbol), "symbol must not be null or empty"); string name = symbol; if (isEscaped) { if (name.Length < 2 || name[0] != '[' || name[name.Length - 1] != ']') { throw EntityUtil.EntitySqlError(this.ErrCtx, System.Data.Entity.Strings.InvalidEscapedIdentifier(name)); } name = name.Substring(1, name.Length - 2); } else { bool isIdentifierASCII = true; if (!CqlLexer.IsLetterOrDigitOrUnderscore(name, out isIdentifierASCII)) { if (isIdentifierASCII) { throw EntityUtil.EntitySqlError(this.ErrCtx, System.Data.Entity.Strings.InvalidSimpleIdentifier(name)); } else { throw EntityUtil.EntitySqlError(this.ErrCtx, System.Data.Entity.Strings.InvalidSimpleIdentifierNonASCII(name)); } } } _name = name; _isEscaped = isEscaped; } ////// Returns identifier name (without escaping chars). /// internal string Name { get { return _name; } } ////// True if an identifier is escaped. /// internal bool IsEscaped { get { return _isEscaped; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- namespace System.Data.Common.EntitySql.AST { using System; using System.Globalization; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Text; ////// Represents an identifier ast node. /// internal sealed class Identifier : Node { private readonly string _name; private readonly bool _isEscaped; ////// Initializes identifier. /// internal Identifier(string symbol, bool isEscaped, string query, int inputPos) : base(query, inputPos) { Debug.Assert(!String.IsNullOrEmpty(symbol), "symbol must not be null or empty"); string name = symbol; if (isEscaped) { if (name.Length < 2 || name[0] != '[' || name[name.Length - 1] != ']') { throw EntityUtil.EntitySqlError(this.ErrCtx, System.Data.Entity.Strings.InvalidEscapedIdentifier(name)); } name = name.Substring(1, name.Length - 2); } else { bool isIdentifierASCII = true; if (!CqlLexer.IsLetterOrDigitOrUnderscore(name, out isIdentifierASCII)) { if (isIdentifierASCII) { throw EntityUtil.EntitySqlError(this.ErrCtx, System.Data.Entity.Strings.InvalidSimpleIdentifier(name)); } else { throw EntityUtil.EntitySqlError(this.ErrCtx, System.Data.Entity.Strings.InvalidSimpleIdentifierNonASCII(name)); } } } _name = name; _isEscaped = isEscaped; } ////// Returns identifier name (without escaping chars). /// internal string Name { get { return _name; } } ////// True if an identifier is escaped. /// internal bool IsEscaped { get { return _isEscaped; } } } } // 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
- DocumentGrid.cs
- MultiBindingExpression.cs
- TextTreeUndo.cs
- DynamicDataExtensions.cs
- Convert.cs
- ApplicationBuildProvider.cs
- GeneratedContractType.cs
- XamlInt32CollectionSerializer.cs
- SmiTypedGetterSetter.cs
- GeometryConverter.cs
- File.cs
- XXXOnTypeBuilderInstantiation.cs
- ReadOnlyDataSource.cs
- TabletDeviceInfo.cs
- ButtonChrome.cs
- _AutoWebProxyScriptHelper.cs
- ReachFixedDocumentSerializer.cs
- EndpointNameMessageFilter.cs
- Single.cs
- ToggleButtonAutomationPeer.cs
- RoleService.cs
- XmlCountingReader.cs
- Set.cs
- Empty.cs
- CompoundFileDeflateTransform.cs
- TileBrush.cs
- sitestring.cs
- CircleHotSpot.cs
- CreateUserWizardDesigner.cs
- ColumnPropertiesGroup.cs
- DbgUtil.cs
- XmlSchemas.cs
- DefaultIfEmptyQueryOperator.cs
- Compiler.cs
- Set.cs
- Transform3DGroup.cs
- SignatureDescription.cs
- path.cs
- LoadMessageLogger.cs
- AspNetSynchronizationContext.cs
- GeneralTransform3DTo2DTo3D.cs
- HttpValueCollection.cs
- InternalSafeNativeMethods.cs
- HeaderCollection.cs
- ListViewItemEventArgs.cs
- CombinedGeometry.cs
- Panel.cs
- CodeAccessSecurityEngine.cs
- DefaultExpressionVisitor.cs
- ResourceContainer.cs
- StorageEntitySetMapping.cs
- RectangleF.cs
- ColorAnimationUsingKeyFrames.cs
- CompiledQuery.cs
- PenContexts.cs
- CodeExpressionRuleDeclaration.cs
- ErrorEventArgs.cs
- Event.cs
- MultiBindingExpression.cs
- FixUpCollection.cs
- MobileControlDesigner.cs
- BidOverLoads.cs
- MSG.cs
- HopperCache.cs
- ScriptDescriptor.cs
- CharConverter.cs
- XmlSchemaComplexContentRestriction.cs
- JoinSymbol.cs
- ZoneIdentityPermission.cs
- Repeater.cs
- ScrollProviderWrapper.cs
- ThreadPool.cs
- WebServiceHandler.cs
- TextMarkerSource.cs
- ConfigsHelper.cs
- ControlBuilder.cs
- XmlSchemaComplexType.cs
- ComponentEditorForm.cs
- OutOfProcStateClientManager.cs
- _BasicClient.cs
- DocumentScope.cs
- Buffer.cs
- Duration.cs
- CfgArc.cs
- CodeDOMProvider.cs
- ResourceWriter.cs
- SqlNotificationEventArgs.cs
- HttpInputStream.cs
- XmlIncludeAttribute.cs
- TransactionBridge.cs
- CodeDomConfigurationHandler.cs
- OperationInfoBase.cs
- CompilerInfo.cs
- IisTraceListener.cs
- ModelPropertyImpl.cs
- UInt32Converter.cs
- EntityViewGenerationAttribute.cs
- SystemNetworkInterface.cs
- RequestResizeEvent.cs
- UTF7Encoding.cs