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
- Registration.cs
- DataExpression.cs
- Stroke2.cs
- QilGenerator.cs
- MdImport.cs
- AssemblySettingAttributes.cs
- ImmutableCollection.cs
- InvalidWMPVersionException.cs
- SafeNativeMethods.cs
- PhysicalAddress.cs
- InstanceData.cs
- Module.cs
- XamlToRtfParser.cs
- DbConnectionPoolGroupProviderInfo.cs
- String.cs
- ContentControl.cs
- filewebresponse.cs
- SQLMembershipProvider.cs
- PartialCachingControl.cs
- ServicePointManager.cs
- RoutedEvent.cs
- VectorKeyFrameCollection.cs
- CalendarTable.cs
- WindowsIdentity.cs
- ToolboxItemCollection.cs
- URLIdentityPermission.cs
- WebPartConnectionsEventArgs.cs
- GenericParameterDataContract.cs
- BooleanStorage.cs
- PerformanceCounterLib.cs
- _emptywebproxy.cs
- SpeechRecognizer.cs
- DataGridLength.cs
- HostingPreferredMapPath.cs
- SrgsSubset.cs
- PathGradientBrush.cs
- DataObjectAttribute.cs
- Solver.cs
- RequestSecurityTokenSerializer.cs
- ControlCollection.cs
- ConnectionStringsSection.cs
- ConnectionConsumerAttribute.cs
- WebBrowser.cs
- CalendarDateChangedEventArgs.cs
- XhtmlBasicValidationSummaryAdapter.cs
- GACIdentityPermission.cs
- MinimizableAttributeTypeConverter.cs
- FixUpCollection.cs
- HtmlImage.cs
- SynchronizationContext.cs
- PersonalizableTypeEntry.cs
- StopRoutingHandler.cs
- EncodingNLS.cs
- DataGridViewComboBoxColumn.cs
- CapabilitiesPattern.cs
- DateTime.cs
- Vector.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- GridViewSortEventArgs.cs
- IdnMapping.cs
- ImageListStreamer.cs
- TdsParserStaticMethods.cs
- Translator.cs
- StorageEndPropertyMapping.cs
- MouseWheelEventArgs.cs
- Unit.cs
- Pkcs9Attribute.cs
- ChangeConflicts.cs
- SqlServices.cs
- Base64Encoder.cs
- Internal.cs
- IgnoreFlushAndCloseStream.cs
- BooleanFunctions.cs
- StoragePropertyMapping.cs
- ObsoleteAttribute.cs
- ListenerBinder.cs
- RightsManagementPermission.cs
- FlowDocument.cs
- NativeRightsManagementAPIsStructures.cs
- HttpRuntime.cs
- XsltCompileContext.cs
- StdValidatorsAndConverters.cs
- UnsafeNativeMethods.cs
- DataRowChangeEvent.cs
- LogSwitch.cs
- CurrentChangedEventManager.cs
- LayoutDump.cs
- FileLoadException.cs
- DataGridAddNewRow.cs
- SignedInfo.cs
- ScrollEvent.cs
- ColorTransformHelper.cs
- IPAddressCollection.cs
- PartialCachingControl.cs
- RestClientProxyHandler.cs
- InvalidateEvent.cs
- UserControlParser.cs
- RegularExpressionValidator.cs
- bindurihelper.cs
- DbReferenceCollection.cs