Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- DynamicPhysicalDiscoSearcher.cs
- Dictionary.cs
- IPAddressCollection.cs
- CreateSequence.cs
- TableDetailsRow.cs
- StringComparer.cs
- PenThread.cs
- HttpWebRequest.cs
- SqlLiftWhereClauses.cs
- DiffuseMaterial.cs
- HtmlCalendarAdapter.cs
- mediaclock.cs
- Graphics.cs
- Mappings.cs
- HttpCapabilitiesEvaluator.cs
- Events.cs
- PropertyValueUIItem.cs
- HttpCacheParams.cs
- ValidationSummary.cs
- HttpListenerResponse.cs
- SystemIcmpV6Statistics.cs
- Query.cs
- XmlHelper.cs
- RegexBoyerMoore.cs
- DesignerDataParameter.cs
- DataServiceRequestException.cs
- RowBinding.cs
- BrowserInteropHelper.cs
- FileDialog.cs
- InkCanvasSelectionAdorner.cs
- RawMouseInputReport.cs
- TypeRestriction.cs
- ServerTooBusyException.cs
- TextFormatterHost.cs
- CustomAttributeSerializer.cs
- ListViewSortEventArgs.cs
- AbstractSvcMapFileLoader.cs
- MemberMaps.cs
- XmlTypeMapping.cs
- TimeZone.cs
- MutexSecurity.cs
- Pen.cs
- ControlTemplate.cs
- EdmPropertyAttribute.cs
- CryptoApi.cs
- HttpValueCollection.cs
- CurrencyManager.cs
- TemplateKeyConverter.cs
- AnnotationResource.cs
- LogExtentCollection.cs
- SystemIPInterfaceProperties.cs
- AlternateView.cs
- SetStoryboardSpeedRatio.cs
- HideDisabledControlAdapter.cs
- DrawingContext.cs
- XmlSecureResolver.cs
- IgnoreSection.cs
- EntityClientCacheKey.cs
- TreeViewHitTestInfo.cs
- TypeViewSchema.cs
- AspNetHostingPermission.cs
- ColumnMapVisitor.cs
- DayRenderEvent.cs
- SchemaTableColumn.cs
- ELinqQueryState.cs
- FramingFormat.cs
- SqlProfileProvider.cs
- OrderedEnumerableRowCollection.cs
- XmlSchemaImport.cs
- SchemaImporterExtensionsSection.cs
- PanelDesigner.cs
- CompoundFileReference.cs
- mda.cs
- Point3DCollection.cs
- ExponentialEase.cs
- AddInDeploymentState.cs
- EnumerableCollectionView.cs
- WorkflowMessageEventArgs.cs
- SmtpException.cs
- WebResponse.cs
- FastEncoder.cs
- QueryPageSettingsEventArgs.cs
- Globals.cs
- login.cs
- ModuleBuilderData.cs
- GridViewCellAutomationPeer.cs
- MouseCaptureWithinProperty.cs
- ConfigurationCollectionAttribute.cs
- BasicHttpBinding.cs
- MDIWindowDialog.cs
- WebBaseEventKeyComparer.cs
- AssemblyGen.cs
- AdditionalEntityFunctions.cs
- QuaternionAnimation.cs
- StaticResourceExtension.cs
- ImageDrawing.cs
- BezierSegment.cs
- ObjectDataSourceChooseMethodsPanel.cs
- TransformGroup.cs
- FileAuthorizationModule.cs