本文整理汇总了C#中Project.GetDocumentId方法的典型用法代码示例。如果您正苦于以下问题:C# Project.GetDocumentId方法的具体用法?C# Project.GetDocumentId怎么用?C# Project.GetDocumentId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Project
的用法示例。
在下文中一共展示了Project.GetDocumentId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddOrUpdateNewTreeToOldMap
private static ImmutableDictionary<DocumentId, SyntaxTree> AddOrUpdateNewTreeToOldMap(
Project newProject, Compilation newCompilation, CompilationSet oldSet, CancellationToken cancellationToken)
{
Compilation oldCompilation;
if (!oldSet.Compilation.TryGetValue(out oldCompilation))
{
return ImmutableDictionary.CreateRange(GetNewTreeMap(newProject, newCompilation));
}
var map = oldSet.Trees;
foreach (var newTree in newCompilation.SyntaxTrees)
{
cancellationToken.ThrowIfCancellationRequested();
if (oldCompilation.ContainsSyntaxTree(newTree))
{
continue;
}
var documentId = newProject.GetDocumentId(newTree);
Contract.Requires(documentId != null);
map = map.SetItem(documentId, newTree);
}
return map;
}
示例2: GetNewTreeMap
private static IEnumerable<KeyValuePair<DocumentId, SyntaxTree>> GetNewTreeMap(Project project, Compilation compilation)
{
foreach (var tree in compilation.SyntaxTrees)
{
var documentId = project.GetDocumentId(tree);
if (documentId != null)
{
yield return KeyValuePair.Create(documentId, tree);
}
}
}
示例3: AddOrUpdateNewTreeToOldMap
private static ImmutableDictionary<DocumentId, SyntaxTree> AddOrUpdateNewTreeToOldMap(
Project newProject, Compilation newCompilation, CompilationSet oldSet, CancellationToken cancellationToken)
{
if (!oldSet.Compilation.TryGetValue(out var oldCompilation))
{
return ImmutableDictionary.CreateRange(GetNewTreeMap(newProject, newCompilation));
}
var map = oldSet.Trees;
foreach (var newTree in newCompilation.SyntaxTrees)
{
cancellationToken.ThrowIfCancellationRequested();
if (oldCompilation.ContainsSyntaxTree(newTree))
{
continue;
}
var documentId = newProject.GetDocumentId(newTree);
// GetDocumentId will return null for #load'ed trees.
// TODO: Remove this check and add logic to fetch the #load'ed tree's
// Document once https://github.com/dotnet/roslyn/issues/5260 is fixed.
if (documentId == null)
{
Debug.Assert(newProject.Solution.Workspace.Kind == "Interactive");
continue;
}
map = map.SetItem(documentId, newTree);
}
return map;
}