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
- WebScriptEnablingBehavior.cs
- ResourceDisplayNameAttribute.cs
- CodeCompileUnit.cs
- NeutralResourcesLanguageAttribute.cs
- StringKeyFrameCollection.cs
- XmlSerializerFactory.cs
- DefaultParameterValueAttribute.cs
- RightsManagementPermission.cs
- EntityDataSourceChangedEventArgs.cs
- XsltConvert.cs
- DynamicPhysicalDiscoSearcher.cs
- DetailsViewUpdateEventArgs.cs
- GridViewCellAutomationPeer.cs
- TimeSpan.cs
- CodeCatchClause.cs
- PointCollection.cs
- HelpKeywordAttribute.cs
- TextChangedEventArgs.cs
- ProcessModule.cs
- ClientApiGenerator.cs
- MouseCaptureWithinProperty.cs
- FamilyTypefaceCollection.cs
- Pkcs7Recipient.cs
- FilterQuery.cs
- BoundColumn.cs
- XmlProcessingInstruction.cs
- CodeRegionDirective.cs
- TableRow.cs
- FontResourceCache.cs
- SqlErrorCollection.cs
- MarkupExtensionReturnTypeAttribute.cs
- NetworkInformationException.cs
- XamlHttpHandlerFactory.cs
- DateTimeFormatInfo.cs
- ImageList.cs
- IsolatedStorageFile.cs
- XmlDocumentType.cs
- RegularExpressionValidator.cs
- DataServiceExpressionVisitor.cs
- Calendar.cs
- RepeaterItem.cs
- LambdaCompiler.ControlFlow.cs
- ContextQuery.cs
- DomainConstraint.cs
- LassoHelper.cs
- complextypematerializer.cs
- PropertyMapper.cs
- ScriptingRoleServiceSection.cs
- Knowncolors.cs
- SparseMemoryStream.cs
- relpropertyhelper.cs
- RijndaelManaged.cs
- CachedCompositeFamily.cs
- ColorPalette.cs
- OleDbParameter.cs
- SspiNegotiationTokenAuthenticatorState.cs
- Group.cs
- SByteStorage.cs
- CodeGroup.cs
- MarkedHighlightComponent.cs
- ReceiveContextCollection.cs
- PackageRelationship.cs
- HebrewCalendar.cs
- FrugalMap.cs
- MetaType.cs
- BrowsableAttribute.cs
- KeyGestureValueSerializer.cs
- MDIControlStrip.cs
- CngUIPolicy.cs
- DependencyPropertyDescriptor.cs
- BitConverter.cs
- XPathDocument.cs
- diagnosticsswitches.cs
- DataStreams.cs
- LinearGradientBrush.cs
- Certificate.cs
- XPathSelectionIterator.cs
- ColorBlend.cs
- DataBinding.cs
- DBCSCodePageEncoding.cs
- UrlAuthFailedErrorFormatter.cs
- EmitterCache.cs
- BitmapSourceSafeMILHandle.cs
- ImageInfo.cs
- HtmlElementErrorEventArgs.cs
- InheritanceAttribute.cs
- TPLETWProvider.cs
- ControlPropertyNameConverter.cs
- OpenTypeCommon.cs
- ColumnMap.cs
- FastEncoder.cs
- PageEventArgs.cs
- RtType.cs
- Label.cs
- ConsoleEntryPoint.cs
- WebPartVerbsEventArgs.cs
- InstanceBehavior.cs
- ToolStripItemClickedEventArgs.cs
- ErrorHandler.cs
- IndexedWhereQueryOperator.cs