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
- ConnectionConsumerAttribute.cs
- ProtectedConfigurationProviderCollection.cs
- AlignmentXValidation.cs
- BitmapMetadataEnumerator.cs
- TimeSpan.cs
- AssemblyInfo.cs
- CompModSwitches.cs
- SemanticAnalyzer.cs
- VerticalConnector.xaml.cs
- GeneratedContractType.cs
- CollectionBuilder.cs
- PopupControlService.cs
- SBCSCodePageEncoding.cs
- HttpChannelHelper.cs
- TextRangeBase.cs
- OdbcConnectionString.cs
- PrtTicket_Base.cs
- RedistVersionInfo.cs
- DataGridColumn.cs
- Constraint.cs
- BooleanKeyFrameCollection.cs
- DataListItemEventArgs.cs
- DateTimePicker.cs
- SmtpLoginAuthenticationModule.cs
- WebPartConnectVerb.cs
- ToolBarButtonClickEvent.cs
- TypeBuilderInstantiation.cs
- WindowsListViewGroupHelper.cs
- StylusTip.cs
- GACMembershipCondition.cs
- AdapterDictionary.cs
- ClientBuildManagerCallback.cs
- DataPager.cs
- DecoderReplacementFallback.cs
- WebPartChrome.cs
- ValueUnavailableException.cs
- IDReferencePropertyAttribute.cs
- DataGridItemEventArgs.cs
- StylusEventArgs.cs
- ByteStream.cs
- SqlRowUpdatingEvent.cs
- PartitionResolver.cs
- Button.cs
- Compress.cs
- HostingEnvironment.cs
- FrameworkContentElementAutomationPeer.cs
- TextContainerChangedEventArgs.cs
- DataGridViewComboBoxCell.cs
- GlyphShapingProperties.cs
- ExcludePathInfo.cs
- ExitEventArgs.cs
- QueryCacheManager.cs
- ScrollItemProviderWrapper.cs
- NativeMethods.cs
- DataGridTable.cs
- SelectedCellsCollection.cs
- ObjectItemAttributeAssemblyLoader.cs
- UdpRetransmissionSettings.cs
- ListViewGroupCollectionEditor.cs
- AnonymousIdentificationSection.cs
- sqlser.cs
- PtsPage.cs
- KnownBoxes.cs
- DataControlLinkButton.cs
- HostingEnvironment.cs
- WithStatement.cs
- Quaternion.cs
- JsonReaderDelegator.cs
- NameNode.cs
- ObjectDataSourceView.cs
- X509Extension.cs
- ExpressionReplacer.cs
- HttpPostServerProtocol.cs
- ServerIdentity.cs
- ProtocolReflector.cs
- HtmlTextViewAdapter.cs
- ImportContext.cs
- Pair.cs
- ToolStripOverflowButton.cs
- RelationshipEnd.cs
- BindingMemberInfo.cs
- DataGridItemCollection.cs
- DBAsyncResult.cs
- CompensationHandlingFilter.cs
- CalendarTable.cs
- RNGCryptoServiceProvider.cs
- APCustomTypeDescriptor.cs
- MulticastNotSupportedException.cs
- SingleStorage.cs
- Events.cs
- ServiceReference.cs
- AdapterUtil.cs
- ActivityUtilities.cs
- MessageSecurityProtocolFactory.cs
- IndexingContentUnit.cs
- XmlObjectSerializerContext.cs
- FunctionDefinition.cs
- MediaCommands.cs
- StandardRuntimeEnumValidator.cs
- ApplicationProxyInternal.cs