Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- UIElementAutomationPeer.cs
- PolyLineSegment.cs
- Funcletizer.cs
- SiteMapDataSourceView.cs
- HttpWrapper.cs
- DataSourceListEditor.cs
- FrameworkEventSource.cs
- CfgParser.cs
- UndoEngine.cs
- MatrixIndependentAnimationStorage.cs
- ClassicBorderDecorator.cs
- Int16.cs
- SystemInformation.cs
- Lease.cs
- UrlSyndicationContent.cs
- BrushValueSerializer.cs
- ApplyTemplatesAction.cs
- SqlSelectStatement.cs
- SplashScreen.cs
- MasterPage.cs
- PtsPage.cs
- AdPostCacheSubstitution.cs
- CompatibleComparer.cs
- AutomationPattern.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- Token.cs
- StringArrayConverter.cs
- _OverlappedAsyncResult.cs
- TagPrefixInfo.cs
- HyperLinkStyle.cs
- KernelTypeValidation.cs
- Tokenizer.cs
- util.cs
- TransformationRules.cs
- CheckBoxDesigner.cs
- SoapSchemaMember.cs
- ScopedKnownTypes.cs
- XmlQueryOutput.cs
- DataGrid.cs
- CompilerGlobalScopeAttribute.cs
- ChtmlFormAdapter.cs
- SiteMapSection.cs
- RowsCopiedEventArgs.cs
- ReferencedType.cs
- NameValueFileSectionHandler.cs
- SessionSwitchEventArgs.cs
- Trace.cs
- TextEditorTyping.cs
- Screen.cs
- RectConverter.cs
- EntityRecordInfo.cs
- DbConnectionInternal.cs
- MailAddressCollection.cs
- lengthconverter.cs
- Content.cs
- XsdBuilder.cs
- CircleHotSpot.cs
- PropertyEmitterBase.cs
- GroupDescription.cs
- Timer.cs
- TableParagraph.cs
- TemplateControlBuildProvider.cs
- CategoryNameCollection.cs
- Matrix3D.cs
- DefaultProxySection.cs
- StylusButton.cs
- Margins.cs
- FacetEnabledSchemaElement.cs
- PassportAuthenticationModule.cs
- ServiceModelPerformanceCounters.cs
- DispatcherProcessingDisabled.cs
- ButtonFieldBase.cs
- TextBoxView.cs
- TextTreeInsertUndoUnit.cs
- PackageDigitalSignature.cs
- XmlSchemaSimpleTypeRestriction.cs
- BamlLocalizer.cs
- PopupEventArgs.cs
- NumberSubstitution.cs
- CompilerInfo.cs
- BasicKeyConstraint.cs
- Convert.cs
- BaseValidator.cs
- PageCatalogPart.cs
- FormParameter.cs
- WindowsGraphicsWrapper.cs
- NullableIntMinMaxAggregationOperator.cs
- SQLBytes.cs
- ValidatingPropertiesEventArgs.cs
- DataServiceBuildProvider.cs
- FactoryGenerator.cs
- ViewBox.cs
- ListBoxAutomationPeer.cs
- NetTcpBinding.cs
- ScriptRegistrationManager.cs
- TransportContext.cs
- Cursor.cs
- BrushMappingModeValidation.cs
- PointAnimationUsingKeyFrames.cs
- DbDataRecord.cs