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
- ClientConfigurationSystem.cs
- CubicEase.cs
- RemoteWebConfigurationHost.cs
- BitmapEffectInput.cs
- TripleDESCryptoServiceProvider.cs
- SHA384.cs
- OdbcParameterCollection.cs
- UriSectionData.cs
- HyperlinkAutomationPeer.cs
- SurrogateSelector.cs
- ListViewInsertEventArgs.cs
- Label.cs
- Html32TextWriter.cs
- SQLInt64Storage.cs
- FixedPageProcessor.cs
- SafeSecurityHandles.cs
- EntityParameterCollection.cs
- Rect3DConverter.cs
- SessionIDManager.cs
- LoginName.cs
- DateTimeOffsetAdapter.cs
- MonitorWrapper.cs
- ExtenderProviderService.cs
- RegexMatchCollection.cs
- StsCommunicationException.cs
- WindowsListViewSubItem.cs
- MinMaxParagraphWidth.cs
- SqlRowUpdatedEvent.cs
- CatalogZoneBase.cs
- InkCanvasAutomationPeer.cs
- Geometry.cs
- JsonSerializer.cs
- TextParentUndoUnit.cs
- XmlDictionaryReader.cs
- translator.cs
- FormsAuthentication.cs
- IisTraceWebEventProvider.cs
- TextFormatterContext.cs
- ExpressionPrefixAttribute.cs
- SpellerError.cs
- SecurityRuntime.cs
- DrawingVisualDrawingContext.cs
- HostExecutionContextManager.cs
- FormViewDeleteEventArgs.cs
- CultureMapper.cs
- EdmToObjectNamespaceMap.cs
- XmlSchemaChoice.cs
- SecurityElement.cs
- MenuRendererClassic.cs
- NullableDecimalSumAggregationOperator.cs
- XmlSchemaExporter.cs
- RoleService.cs
- SqlDataSourceConfigureFilterForm.cs
- WorkflowMarkupSerializer.cs
- CaseCqlBlock.cs
- sqlcontext.cs
- TypeBuilderInstantiation.cs
- BitStream.cs
- SessionEndedEventArgs.cs
- SerializerDescriptor.cs
- TypeCollectionPropertyEditor.cs
- QualifiedCellIdBoolean.cs
- StylusPointCollection.cs
- UnmanagedBitmapWrapper.cs
- UndoUnit.cs
- KeyInstance.cs
- DetailsViewModeEventArgs.cs
- XmlSchemaImport.cs
- ScrollItemPatternIdentifiers.cs
- Control.cs
- ProfileModule.cs
- InstalledFontCollection.cs
- ErrorReporting.cs
- EncryptedXml.cs
- TreeChangeInfo.cs
- Context.cs
- XmlAttributeOverrides.cs
- WizardStepCollectionEditor.cs
- DynamicArgumentDialog.cs
- ASCIIEncoding.cs
- RSAOAEPKeyExchangeFormatter.cs
- DesignerRegionMouseEventArgs.cs
- WindowsSysHeader.cs
- RtfToken.cs
- TypeInfo.cs
- PropertyOrder.cs
- QilReplaceVisitor.cs
- DataSourceExpressionCollection.cs
- ButtonBaseAutomationPeer.cs
- ObjectConverter.cs
- Scripts.cs
- CssTextWriter.cs
- CommandLineParser.cs
- TraceListener.cs
- DbProviderFactoriesConfigurationHandler.cs
- ToolStripButton.cs
- KerberosTicketHashIdentifierClause.cs
- Error.cs
- SqlConnectionString.cs
- RequestQueue.cs