本文整理汇总了C#中IFile.ProcessDescendants方法的典型用法代码示例。如果您正苦于以下问题:C# IFile.ProcessDescendants方法的具体用法?C# IFile.ProcessDescendants怎么用?C# IFile.ProcessDescendants使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFile
的用法示例。
在下文中一共展示了IFile.ProcessDescendants方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (psiFile.Language.Name != "CSHARP" && psiFile.Language.Name != "VBASIC")
return;
psiFile.ProcessDescendants(new XunitFileExplorer(provider, psiFile.GetSourceFile().ToProjectFile(), consumer, interrupted));
}
示例2: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if ((psiFile.Language.Name == "CSHARP") || (psiFile.Language.Name == "VBASIC"))
{
psiFile.ProcessDescendants(new FileExplorer(_provider, _factories, psiFile, consumer, interrupted));
}
}
示例3: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (psiFile.Language.Name != "CSHARP" && psiFile.Language.Name != "VBASIC")
return;
psiFile.ProcessDescendants(new XunitFileExplorer(factory, psiFile, searchDomainFactory, consumer, interrupted));
}
示例4: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if ((psiFile.Language.Is<JavaScriptLanguage>() && !psiFile.Language.Is<JavaScriptWinRTLanguage>()) && (psiFile.GetProject() != null))
{
psiFile.ProcessDescendants(new JasmineFileExplorer(myFactory, consumer, psiFile, interrupted, myJavaScriptDependencyManager.GetTransitiveDependencies(psiFile.GetSourceFile())));
}
}
示例5: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (!xUnitInstalled)
return;
if (provider == null)
return;
if (psiFile == null)
throw new ArgumentNullException("psiFile");
var project = psiFile.GetProject();
if (project == null)
return;
if (project.GetAssemblyReferences().Any(IsSilverlightMscorlib))
return;
var fileExplorers = psiFile.GetProject().GetSolution().GetComponents<IUnitTestFileExplorer>();
var xunitTestFileExplorer = fileExplorers.Single(e => e.GetType().FullName == "XunitContrib.Runner.ReSharper.UnitTestProvider.XunitTestFileExplorer");
var unitTestElementFactory = xunitTestFileExplorer.GetField<object>("unitTestElementFactory");
var xunitPsiFileExplorerType = xunitTestFileExplorer.GetType().Assembly.GetType("XunitContrib.Runner.ReSharper.UnitTestProvider.XunitPsiFileExplorer");
var xunitPsiFileExplorer = (IRecursiveElementProcessor)Activator.CreateInstance(xunitPsiFileExplorerType,
provider, unitTestElementFactory, consumer, psiFile, interrupted);
psiFile.ProcessDescendants(xunitPsiFileExplorer);
}
示例6: ExploreFile
public void ExploreFile(IFile psiFile, IUnitTestElementsObserver observer, Func<bool> interrupted)
{
if (!IsProjectFile(psiFile)) return;
var elementFactory = new UnitTestElementFactory(services, observer.OnUnitTestElementChanged);
psiFile.ProcessDescendants(new XunitPsiFileExplorer(elementFactory, observer, psiFile, interrupted, searchDomainFactory));
observer.OnCompleted();
}
示例7: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (psiFile == null)
{
throw new ArgumentNullException("psiFile");
}
psiFile.ProcessDescendants(new FileExplorer(this, consumer, psiFile, interrupted));
}
示例8: ExploreFile
public void ExploreFile(IFile psiFile, IUnitTestElementsObserver observer, Func<bool> interrupted)
{
if (psiFile.GetProject().IsSilverlight())
{
if (!string.Equals(psiFile.Language.Name, "CSHARP", StringComparison.Ordinal) && !string.Equals(psiFile.Language.Name, "VBASIC", StringComparison.Ordinal) || psiFile.GetSourceFile().ToProjectFile() == null)
return;
this.RunWithElementFactory(elementFactory => psiFile.ProcessDescendants(new MsTestFileExplorer(elementFactory, this.msTestAttributesProvider, observer, psiFile, interrupted)));
}
}
示例9: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (psiFile == null)
throw new ArgumentNullException("psiFile");
var project = psiFile.GetProject();
if (project == null)
return;
psiFile.ProcessDescendants(new SimpleTestingPsiFileExplorer(consumer, psiFile, interrupted, _elementFactory));
}
示例10: ExploreFile
public void ExploreFile(IFile psiFile, IUnitTestElementsObserver consumer, Func<bool> interrupted)
{
if (psiFile == null)
throw new ArgumentNullException("psiFile");
var project = psiFile.GetProject();
if (project == null)
return;
if ((psiFile.Language.Name == "CSHARP") || (psiFile.Language.Name == "VBASIC"))
{
psiFile.ProcessDescendants(new FileExplorer(_provider, _factories, psiFile, consumer, interrupted));
}
}
示例11: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, Func<bool> interrupted)
{
if (psiFile == null)
throw new ArgumentNullException("psiFile");
var project = psiFile.GetProject();
if (project == null)
return;
if (IsSilverlightProject(project) && !IsAgUnitAvailable)
return;
psiFile.ProcessDescendants(new XunitPsiFileExplorer(provider, unitTestElementFactory, consumer, psiFile, interrupted, searchDomainFactory));
}
示例12: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (interrupted())
return;
// don't bother going any further if there's isn't a project with a reference to the Fixie assembly
var project = psiFile.GetProject();
if (project == null)
return;
if(project.GetModuleReferences().All(module => module.Name != "Fixie"))
return;
psiFile.ProcessDescendants(new PsiFileExplorer(unitTestElementFactory, conventionCheck, consumer, psiFile, interrupted));
}
示例13: ExploreFile
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (!xUnitInstalled)
return;
if (provider == null)
return;
if (psiFile == null)
throw new ArgumentNullException("psiFile");
var project = psiFile.GetProject();
if (project == null)
return;
if (project.GetAssemblyReferences().Any(IsSilverlightMscorlib))
return;
var psiFileExplorer = (IRecursiveElementProcessor)Activator.CreateInstance(XunitPsiFileExplorerType,
provider, consumer, psiFile, interrupted);
psiFile.ProcessDescendants(psiFileExplorer);
}
示例14: ExploreFile
/// <summary>
/// Explores given PSI file.
/// </summary>
public void ExploreFile(IFile psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
{
if (psiFile == null)
throw new ArgumentNullException("psiFile");
if (consumer == null)
throw new ArgumentNullException("consumer");
#if ! RESHARPER_31 && ! RESHARPER_40 && ! RESHARPER_41
using (ReadLockCookie.Create())
#endif
{
if (!psiFile.IsValid())
return;
try
{
PsiReflectionPolicy reflectionPolicy = new PsiReflectionPolicy(psiFile.GetManager());
ConsumerAdapter consumerAdapter = new ConsumerAdapter(provider, consumer, psiFile);
var codeElements = new List<ICodeElementInfo>();
psiFile.ProcessDescendants(new OneActionProcessorWithoutVisit(delegate(IElement element)
{
ITypeDeclaration declaration = element as ITypeDeclaration;
if (declaration != null)
PopulateCodeElementsFromTypeDeclaration(codeElements, reflectionPolicy, declaration);
}, delegate(IElement element)
{
if (interrupted())
throw new ProcessCancelledException();
// Stop recursing at the first type declaration found.
return element is ITypeDeclaration;
}));
Describe(reflectionPolicy, codeElements, consumerAdapter);
ProjectFileState.SetFileState(psiFile.GetProjectFile(), consumerAdapter.CreateProjectFileState());
}
catch (Exception ex)
{
HandleEmbeddedProcessCancelledException(ex);
throw;
}
}
}
示例15: ExploreJasmine
private void ExploreJasmine(IEnumerable<IPsiSourceFile> referencedFiles, IFile psiFile,
ICollection<IUnitTestElement> explored)
{
psiFile.ProcessDescendants(new JasmineFileExplorer(myJasmineFactory,
d => explored.Add(d.UnitTestElement), psiFile,
InterruptableReadActivity.Empty, referencedFiles));
}