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
- HttpTransportSecurityElement.cs
- ZoneLinkButton.cs
- EntityStoreSchemaGenerator.cs
- WebPartActionVerb.cs
- ButtonAutomationPeer.cs
- BitmapEffectInputData.cs
- ValidationRuleCollection.cs
- HitTestFilterBehavior.cs
- XmlWriterTraceListener.cs
- RoutedPropertyChangedEventArgs.cs
- PropertyMapper.cs
- TypeUtil.cs
- GuidelineSet.cs
- QueryGeneratorBase.cs
- CDSsyncETWBCLProvider.cs
- TrackingValidationObjectDictionary.cs
- TabItemAutomationPeer.cs
- ReliableReplySessionChannel.cs
- SerializationFieldInfo.cs
- Inflater.cs
- OracleRowUpdatedEventArgs.cs
- XmlEncoding.cs
- ExpandableObjectConverter.cs
- GenericTypeParameterBuilder.cs
- SpeechSynthesizer.cs
- ExceptionHandlerDesigner.cs
- RSAOAEPKeyExchangeDeformatter.cs
- XmlNode.cs
- _SSPISessionCache.cs
- RelationHandler.cs
- ReaderWriterLockWrapper.cs
- AssemblyInfo.cs
- EntityDataSourceSelectedEventArgs.cs
- ClassValidator.cs
- KernelTypeValidation.cs
- XPathPatternParser.cs
- HandleCollector.cs
- EntityProviderServices.cs
- DeriveBytes.cs
- EncryptedKey.cs
- ToolboxDataAttribute.cs
- InputManager.cs
- Condition.cs
- ToolStripActionList.cs
- CodeTypeConstructor.cs
- WebPartExportVerb.cs
- BorderSidesEditor.cs
- IPHostEntry.cs
- StateManagedCollection.cs
- LinearGradientBrush.cs
- UdpReplyToBehavior.cs
- LabelExpression.cs
- DependencyProperty.cs
- printdlgexmarshaler.cs
- FlowDocumentView.cs
- InstanceCompleteException.cs
- TextTreeText.cs
- InfoCardRSACryptoProvider.cs
- COM2PropertyDescriptor.cs
- XPathScanner.cs
- Empty.cs
- RelationshipEndMember.cs
- NoPersistScope.cs
- WinInetCache.cs
- WebPartDescription.cs
- DataGridViewImageColumn.cs
- MissingMemberException.cs
- Action.cs
- XmlEnumAttribute.cs
- SetterBase.cs
- WebZone.cs
- X509SecurityToken.cs
- LocalizableAttribute.cs
- Funcletizer.cs
- CompilerState.cs
- IntranetCredentialPolicy.cs
- BamlCollectionHolder.cs
- UIElementHelper.cs
- Int64Animation.cs
- TextElementCollection.cs
- Vertex.cs
- Win32Exception.cs
- KeyInterop.cs
- AdornerLayer.cs
- Trace.cs
- infer.cs
- XmlSchemaSet.cs
- HttpResponse.cs
- TextRange.cs
- ScriptingRoleServiceSection.cs
- Margins.cs
- EncoderReplacementFallback.cs
- ValuePattern.cs
- TextTreeNode.cs
- ToolTip.cs
- SessionStateItemCollection.cs
- DbConnectionPoolCounters.cs
- FilteredXmlReader.cs
- PerformanceCountersElement.cs
- WinFormsUtils.cs