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
- PeerNameRecord.cs
- SystemUnicastIPAddressInformation.cs
- ChannelListenerBase.cs
- ToolboxComponentsCreatedEventArgs.cs
- PropertyPath.cs
- HtmlLink.cs
- GenericEnumConverter.cs
- SettingsPropertyIsReadOnlyException.cs
- CreateDataSourceDialog.cs
- XmlWriterSettings.cs
- FormViewInsertEventArgs.cs
- FormsAuthenticationCredentials.cs
- NavigatorOutput.cs
- RawTextInputReport.cs
- VisualStyleInformation.cs
- UserInitiatedNavigationPermission.cs
- VirtualizedItemPattern.cs
- BoundColumn.cs
- HtmlShimManager.cs
- PerformanceCounterPermissionEntry.cs
- IdentityManager.cs
- ObsoleteAttribute.cs
- QuaternionAnimation.cs
- Point4DValueSerializer.cs
- ResolvedKeyFrameEntry.cs
- CodeDOMProvider.cs
- MatrixValueSerializer.cs
- MultilineStringConverter.cs
- DataBoundControlAdapter.cs
- TableLayout.cs
- DescendentsWalker.cs
- BitmapEffectGeneralTransform.cs
- DetailsView.cs
- RegexWriter.cs
- StructuredTypeInfo.cs
- ServiceNameElement.cs
- GridLength.cs
- wmiprovider.cs
- WebControl.cs
- DocumentPageViewAutomationPeer.cs
- CompiledXpathExpr.cs
- CompilationRelaxations.cs
- XmlQueryType.cs
- AssemblyUtil.cs
- AggregateNode.cs
- DataTablePropertyDescriptor.cs
- RequestCachePolicy.cs
- Trace.cs
- DataGridViewLinkCell.cs
- PageContentAsyncResult.cs
- CollectionViewGroup.cs
- _ShellExpression.cs
- ApplicationServiceHelper.cs
- EventLogPermissionEntryCollection.cs
- KeyGestureConverter.cs
- ScrollItemPattern.cs
- MenuItemBindingCollection.cs
- BitmapEffectState.cs
- DataGridViewColumnCollection.cs
- EntityViewContainer.cs
- COM2ICategorizePropertiesHandler.cs
- path.cs
- MouseEvent.cs
- BufferModesCollection.cs
- WebPartExportVerb.cs
- LocalizableResourceBuilder.cs
- _LocalDataStoreMgr.cs
- LinqDataSourceStatusEventArgs.cs
- TempFiles.cs
- ReaderContextStackData.cs
- ContextProperty.cs
- TdsParserStaticMethods.cs
- CheckBoxFlatAdapter.cs
- SqlServer2KCompatibilityCheck.cs
- FormCollection.cs
- BidPrivateBase.cs
- CharStorage.cs
- ProviderSettingsCollection.cs
- Int16Storage.cs
- IndexerHelper.cs
- CultureInfo.cs
- VirtualPathData.cs
- HttpModuleAction.cs
- FileController.cs
- ProcessModuleCollection.cs
- ConsoleCancelEventArgs.cs
- WeakReference.cs
- EntityKey.cs
- QualificationDataAttribute.cs
- DataGridToolTip.cs
- SmtpClient.cs
- NetTcpBindingCollectionElement.cs
- PolicyImporterElement.cs
- SqlConnectionFactory.cs
- DocumentEventArgs.cs
- Command.cs
- DbException.cs
- Application.cs
- ToolStripDropDownItem.cs
- TextBoxView.cs