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
- SvcMapFileLoader.cs
- ComponentDispatcher.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ZipPackagePart.cs
- HttpModuleActionCollection.cs
- BufferModesCollection.cs
- ComponentRenameEvent.cs
- PropertyChangedEventManager.cs
- GeneralTransform3DTo2D.cs
- LinkDescriptor.cs
- ButtonChrome.cs
- WebPartMovingEventArgs.cs
- ListViewItem.cs
- ReadOnlyDictionary.cs
- ModelEditingScope.cs
- Substitution.cs
- QuaternionConverter.cs
- documentsequencetextpointer.cs
- LifetimeServices.cs
- FileLoadException.cs
- RC2CryptoServiceProvider.cs
- XmlAtomicValue.cs
- Keyboard.cs
- Math.cs
- ETagAttribute.cs
- MapPathBasedVirtualPathProvider.cs
- WebPartDisplayModeCancelEventArgs.cs
- SafeHandle.cs
- ProcessThreadDesigner.cs
- StringSorter.cs
- ProcessModule.cs
- XmlComplianceUtil.cs
- TypeContext.cs
- ScriptControlManager.cs
- MergeLocalizationDirectives.cs
- XmlSchemaAttributeGroup.cs
- BitmapMetadataEnumerator.cs
- TemplateInstanceAttribute.cs
- WmfPlaceableFileHeader.cs
- Int32RectValueSerializer.cs
- XmlNavigatorStack.cs
- RemotingAttributes.cs
- Setter.cs
- GridErrorDlg.cs
- BinaryHeap.cs
- HtmlTableCell.cs
- StringArrayConverter.cs
- FusionWrap.cs
- Menu.cs
- CompModSwitches.cs
- WinFormsUtils.cs
- OdbcParameter.cs
- ConfigurationManagerHelper.cs
- ItemList.cs
- VariableQuery.cs
- UpdateException.cs
- NullableLongSumAggregationOperator.cs
- SmiXetterAccessMap.cs
- MaskedTextBoxDesignerActionList.cs
- PeerContact.cs
- ProfileSection.cs
- MailMessageEventArgs.cs
- AmbiguousMatchException.cs
- SQLBinary.cs
- XmlNotation.cs
- SinglePageViewer.cs
- EffectiveValueEntry.cs
- SqlCommand.cs
- Utils.cs
- PointLight.cs
- CssTextWriter.cs
- WebPartsPersonalization.cs
- MimeWriter.cs
- DirectoryLocalQuery.cs
- _ListenerResponseStream.cs
- DataGridItemCollection.cs
- TypeInitializationException.cs
- Enlistment.cs
- SpellCheck.cs
- HttpWebRequestElement.cs
- DesigntimeLicenseContextSerializer.cs
- XmlSchemaGroup.cs
- EventHandlers.cs
- MembershipUser.cs
- CompositeTypefaceMetrics.cs
- StrokeNodeOperations2.cs
- LayeredChannelFactory.cs
- TableSectionStyle.cs
- GlyphsSerializer.cs
- PackageDigitalSignature.cs
- PerformanceCounterPermission.cs
- CodeTryCatchFinallyStatement.cs
- ExpressionsCollectionConverter.cs
- CorrelationManager.cs
- UICuesEvent.cs
- RequestResponse.cs
- DependencyPropertyConverter.cs
- DBConcurrencyException.cs
- SessionPageStatePersister.cs
- CursorConverter.cs