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
- IdentifierCollection.cs
- ObjectToIdCache.cs
- WebResourceUtil.cs
- CodeObject.cs
- Baml2006Reader.cs
- RC2.cs
- HttpInputStream.cs
- DbMetaDataCollectionNames.cs
- FontEmbeddingManager.cs
- ReachDocumentReferenceSerializerAsync.cs
- ProfileInfo.cs
- AnimatedTypeHelpers.cs
- JsonWriterDelegator.cs
- FrameworkRichTextComposition.cs
- XmlStringTable.cs
- Matrix3DStack.cs
- XmlSignificantWhitespace.cs
- PipeSecurity.cs
- SoapReflectionImporter.cs
- mediaeventshelper.cs
- ReadOnlyDictionary.cs
- TextViewSelectionProcessor.cs
- MenuEventArgs.cs
- HttpProtocolImporter.cs
- CallSite.cs
- ColumnMapProcessor.cs
- ActivityWithResult.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- BackgroundFormatInfo.cs
- StrongNameHelpers.cs
- MeshGeometry3D.cs
- NullableConverter.cs
- DataGridSortingEventArgs.cs
- IFlowDocumentViewer.cs
- PeerNameResolver.cs
- SimpleApplicationHost.cs
- ConfigurationElement.cs
- StringHandle.cs
- CharUnicodeInfo.cs
- WebPartHelpVerb.cs
- ExtensionDataReader.cs
- WmiPutTraceRecord.cs
- SelectedCellsCollection.cs
- SqlWriter.cs
- Bits.cs
- GraphicsState.cs
- IndicFontClient.cs
- CroppedBitmap.cs
- ControlEvent.cs
- ConfigPathUtility.cs
- QuaternionRotation3D.cs
- DataGridViewElement.cs
- ResourceType.cs
- GorillaCodec.cs
- DynamicILGenerator.cs
- SQLMoney.cs
- CharacterMetricsDictionary.cs
- NoPersistProperty.cs
- ConfigsHelper.cs
- XmlDomTextWriter.cs
- RegisteredScript.cs
- InkCanvas.cs
- D3DImage.cs
- XmlSchemaCompilationSettings.cs
- ControlPropertyNameConverter.cs
- ConfigurationManagerHelperFactory.cs
- Base64WriteStateInfo.cs
- SafeLibraryHandle.cs
- FixUpCollection.cs
- WsatConfiguration.cs
- InputScope.cs
- ArgIterator.cs
- ScriptComponentDescriptor.cs
- AsymmetricAlgorithm.cs
- XmlEncoding.cs
- FrugalList.cs
- SecureUICommand.cs
- _NegoStream.cs
- CharEntityEncoderFallback.cs
- DeploymentSection.cs
- Drawing.cs
- WrappedKeySecurityToken.cs
- InkPresenterAutomationPeer.cs
- DrawListViewItemEventArgs.cs
- StartUpEventArgs.cs
- InkCanvasSelectionAdorner.cs
- DataGridComboBoxColumn.cs
- DurableOperationContext.cs
- TemplateXamlParser.cs
- WindowInteractionStateTracker.cs
- FacetDescription.cs
- RangeBase.cs
- XomlDesignerLoader.cs
- AddInSegmentDirectoryNotFoundException.cs
- Helpers.cs
- UseAttributeSetsAction.cs
- IPEndPointCollection.cs
- EntityConnectionStringBuilder.cs
- BufferedWebEventProvider.cs
- XmlNodeReader.cs