Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / XmlUtils / System / Xml / Xsl / SourceLineInfo.cs / 1 / SourceLineInfo.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Diagnostics; namespace System.Xml.Xsl { [DebuggerDisplay("{uriString} [{startLine},{startPos} -- {endLine},{endPos}]")] internal class SourceLineInfo : ISourceLineInfo { private string uriString; private int startLine; private int startPos; private int endLine; private int endPos; public SourceLineInfo(string uriString, int startLine, int startPos, int endLine, int endPos) { this.uriString = uriString; this.startLine = startLine; this.startPos = startPos; this.endLine = endLine; this.endPos = endPos; } public string Uri { get { return this.uriString; } } public int StartLine { get { return this.startLine; } } public int StartPos { get { return this.startPos ; } } public int EndLine { get { return this.endLine ; } } public int EndPos { get { return this.endPos ; } } internal void SetEndLinePos(int endLine, int endPos) { this.endLine = endLine; this.endPos = endPos; } ////// Magic number 0xfeefee is used in PDB to denote a section of IL that does not map to any user code. /// When VS debugger steps into IL marked with 0xfeefee, it will continue the step until it reaches /// some user code. /// private const int NoSourceMagicNumber = 0xfeefee; public static SourceLineInfo NoSource = new SourceLineInfo(string.Empty, NoSourceMagicNumber, 0, NoSourceMagicNumber, 0); public bool IsNoSource { get { return this.startLine == NoSourceMagicNumber; } } [Conditional("DEBUG")] public static void Validate(ISourceLineInfo lineInfo) { if (lineInfo.StartLine == 0 || lineInfo.StartLine == NoSourceMagicNumber) { Debug.Assert(lineInfo.StartLine == lineInfo.EndLine); Debug.Assert(lineInfo.StartPos == 0 && lineInfo.EndPos == 0); } else { Debug.Assert(0 < lineInfo.StartLine && lineInfo.StartLine <= lineInfo.EndLine); if (lineInfo.StartLine == lineInfo.EndLine) { Debug.Assert(0 < lineInfo.StartPos && lineInfo.StartPos < lineInfo.EndPos); } else { Debug.Assert(0 < lineInfo.StartPos && 0 < lineInfo.EndPos); } } } // Returns file path for local and network URIs. Used for PDB generating and error reporting. public static string GetFileName(string uriString) { Uri uri; if (uriString.Length != 0 && System.Uri.TryCreate(uriString, UriKind.Absolute, out uri) && uri.IsFile ) { return uri.LocalPath; } return uriString; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Diagnostics; namespace System.Xml.Xsl { [DebuggerDisplay("{uriString} [{startLine},{startPos} -- {endLine},{endPos}]")] internal class SourceLineInfo : ISourceLineInfo { private string uriString; private int startLine; private int startPos; private int endLine; private int endPos; public SourceLineInfo(string uriString, int startLine, int startPos, int endLine, int endPos) { this.uriString = uriString; this.startLine = startLine; this.startPos = startPos; this.endLine = endLine; this.endPos = endPos; } public string Uri { get { return this.uriString; } } public int StartLine { get { return this.startLine; } } public int StartPos { get { return this.startPos ; } } public int EndLine { get { return this.endLine ; } } public int EndPos { get { return this.endPos ; } } internal void SetEndLinePos(int endLine, int endPos) { this.endLine = endLine; this.endPos = endPos; } ////// Magic number 0xfeefee is used in PDB to denote a section of IL that does not map to any user code. /// When VS debugger steps into IL marked with 0xfeefee, it will continue the step until it reaches /// some user code. /// private const int NoSourceMagicNumber = 0xfeefee; public static SourceLineInfo NoSource = new SourceLineInfo(string.Empty, NoSourceMagicNumber, 0, NoSourceMagicNumber, 0); public bool IsNoSource { get { return this.startLine == NoSourceMagicNumber; } } [Conditional("DEBUG")] public static void Validate(ISourceLineInfo lineInfo) { if (lineInfo.StartLine == 0 || lineInfo.StartLine == NoSourceMagicNumber) { Debug.Assert(lineInfo.StartLine == lineInfo.EndLine); Debug.Assert(lineInfo.StartPos == 0 && lineInfo.EndPos == 0); } else { Debug.Assert(0 < lineInfo.StartLine && lineInfo.StartLine <= lineInfo.EndLine); if (lineInfo.StartLine == lineInfo.EndLine) { Debug.Assert(0 < lineInfo.StartPos && lineInfo.StartPos < lineInfo.EndPos); } else { Debug.Assert(0 < lineInfo.StartPos && 0 < lineInfo.EndPos); } } } // Returns file path for local and network URIs. Used for PDB generating and error reporting. public static string GetFileName(string uriString) { Uri uri; if (uriString.Length != 0 && System.Uri.TryCreate(uriString, UriKind.Absolute, out uri) && uri.IsFile ) { return uri.LocalPath; } return uriString; } } } // 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
- Privilege.cs
- TrustLevelCollection.cs
- HashLookup.cs
- TextElementCollection.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- dataprotectionpermission.cs
- DBConcurrencyException.cs
- ToolStripSplitButton.cs
- DomNameTable.cs
- GroupDescription.cs
- ReadOnlyDictionary.cs
- RegexFCD.cs
- SuppressMergeCheckAttribute.cs
- RegexCapture.cs
- GeneralTransform2DTo3D.cs
- PartialClassGenerationTaskInternal.cs
- SpecialFolderEnumConverter.cs
- LocalizableAttribute.cs
- RoleManagerSection.cs
- SqlClientWrapperSmiStreamChars.cs
- SkipStoryboardToFill.cs
- TextSpanModifier.cs
- DataGridColumnHeaderAutomationPeer.cs
- NativeMethods.cs
- HtmlMeta.cs
- MatrixAnimationUsingPath.cs
- UTF8Encoding.cs
- ContractReference.cs
- RuntimeWrappedException.cs
- DataBindingHandlerAttribute.cs
- EntityTypeEmitter.cs
- BasicExpandProvider.cs
- PeerTransportSecuritySettings.cs
- IOThreadScheduler.cs
- PropertyMetadata.cs
- QueryResponse.cs
- SamlAuthorityBinding.cs
- BoundColumn.cs
- ISCIIEncoding.cs
- FileDialogPermission.cs
- ExceptionRoutedEventArgs.cs
- KeyGestureValueSerializer.cs
- HostTimeoutsElement.cs
- ByteKeyFrameCollection.cs
- MultitargetUtil.cs
- DetailsViewRow.cs
- RemoteArgument.cs
- FormViewUpdatedEventArgs.cs
- InstrumentationTracker.cs
- TypeConstant.cs
- FacetEnabledSchemaElement.cs
- TabletDeviceInfo.cs
- RoutingTable.cs
- DataRowChangeEvent.cs
- SqlDependency.cs
- ViewKeyConstraint.cs
- MemberListBinding.cs
- PeerNameResolver.cs
- ClassDataContract.cs
- StateManagedCollection.cs
- XamlHostingSectionGroup.cs
- JsonReader.cs
- SafeThreadHandle.cs
- Int16Converter.cs
- NestedContainer.cs
- RemoveStoryboard.cs
- BinaryObjectInfo.cs
- FormViewModeEventArgs.cs
- InkPresenterAutomationPeer.cs
- OleAutBinder.cs
- CookieProtection.cs
- TableLayoutPanelCellPosition.cs
- SerializationTrace.cs
- QueuePropertyVariants.cs
- DataGridViewColumnConverter.cs
- EnumConverter.cs
- ContentElement.cs
- FileClassifier.cs
- DataTemplate.cs
- CatalogPartCollection.cs
- TextEditorThreadLocalStore.cs
- CoreSwitches.cs
- Tile.cs
- MatrixTransform3D.cs
- XmlStringTable.cs
- Link.cs
- XDeferredAxisSource.cs
- CodeAttributeArgumentCollection.cs
- CaseInsensitiveComparer.cs
- ListViewItemMouseHoverEvent.cs
- ChannelDispatcher.cs
- LayoutInformation.cs
- Base64WriteStateInfo.cs
- Geometry3D.cs
- ObjectStateManagerMetadata.cs
- NullableDecimalMinMaxAggregationOperator.cs
- EntityModelBuildProvider.cs
- XmlAttributeOverrides.cs
- ContextItemManager.cs
- figurelength.cs