Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- SignedXmlDebugLog.cs
- SchemaConstraints.cs
- UserControlParser.cs
- RequestResizeEvent.cs
- EllipseGeometry.cs
- WaitHandleCannotBeOpenedException.cs
- TraceContextEventArgs.cs
- ObjectSerializerFactory.cs
- Vertex.cs
- BuildResultCache.cs
- SqlUtils.cs
- SmtpNtlmAuthenticationModule.cs
- EqualityArray.cs
- ReadOnlyCollectionBuilder.cs
- CheckBox.cs
- WindowShowOrOpenTracker.cs
- coordinatorfactory.cs
- PathFigureCollection.cs
- PartialTrustVisibleAssembliesSection.cs
- SqlUDTStorage.cs
- Cursor.cs
- SecurityResources.cs
- ItemContainerGenerator.cs
- SafeArrayTypeMismatchException.cs
- DataSetViewSchema.cs
- RewritingSimplifier.cs
- mda.cs
- SqlCacheDependencySection.cs
- TabletCollection.cs
- State.cs
- WorkflowStateRollbackService.cs
- CryptoApi.cs
- StringAttributeCollection.cs
- NativeMethods.cs
- PropertyChangedEventManager.cs
- FileDialog.cs
- DictionaryBase.cs
- DataBindingHandlerAttribute.cs
- RelationshipConverter.cs
- BulletedList.cs
- CustomWebEventKey.cs
- ResourceManager.cs
- TextBoxAutoCompleteSourceConverter.cs
- StyleSheetComponentEditor.cs
- TreeNode.cs
- UpdateTranslator.cs
- CacheEntry.cs
- PolicyImporterElementCollection.cs
- Matrix3D.cs
- MediaElement.cs
- AlternationConverter.cs
- ByteAnimation.cs
- MemberHolder.cs
- DrawingVisual.cs
- SortQuery.cs
- DataGrid.cs
- TreeIterators.cs
- ViewgenContext.cs
- MonitorWrapper.cs
- ReferenceList.cs
- SqlSelectStatement.cs
- RequestCachePolicy.cs
- TransformerInfo.cs
- StylusEventArgs.cs
- TextModifierScope.cs
- TcpChannelListener.cs
- MetadataItemCollectionFactory.cs
- ObjectDataSourceMethodEventArgs.cs
- PtsHost.cs
- ActionMessageFilter.cs
- CatalogPartCollection.cs
- CharAnimationUsingKeyFrames.cs
- ImageCodecInfoPrivate.cs
- CapabilitiesPattern.cs
- ButtonChrome.cs
- XamlRtfConverter.cs
- PackagePart.cs
- FloatAverageAggregationOperator.cs
- DBDataPermission.cs
- BitmapPalette.cs
- SaveFileDialog.cs
- WorkItem.cs
- PageWrapper.cs
- XmlIlGenerator.cs
- Columns.cs
- GenericAuthenticationEventArgs.cs
- RectangleGeometry.cs
- WorkflowMarkupSerializationException.cs
- WebPartsSection.cs
- SystemIcmpV4Statistics.cs
- dataobject.cs
- PersonalizationAdministration.cs
- ProfileGroupSettings.cs
- WinEventWrap.cs
- EventArgs.cs
- NamespaceListProperty.cs
- ResourceReferenceExpressionConverter.cs
- ManagementPath.cs
- AppDomainShutdownMonitor.cs
- PageWrapper.cs