当前位置: 首页>>代码示例>>C#>>正文


C# ITreeNode.IsValid方法代码示例

本文整理汇总了C#中ITreeNode.IsValid方法的典型用法代码示例。如果您正苦于以下问题:C# ITreeNode.IsValid方法的具体用法?C# ITreeNode.IsValid怎么用?C# ITreeNode.IsValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ITreeNode的用法示例。


在下文中一共展示了ITreeNode.IsValid方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FindMatches

        private static IEnumerable<IStructuralMatchResult> FindMatches(IStructuralMatcher matcher, ITreeNode statement)
        {
            if (statement == null || !statement.IsValid())
                yield break;

            var result = matcher.Match(statement);
            if (result.Matched)
            {
                yield return result;
                yield break;
            }
            foreach (var r in statement.Children().SelectMany(node => FindMatches(matcher, node)))
            {
                yield return r;
            }
        }
开发者ID:julienadam,项目名称:ReSharper.DictionaryHelper,代码行数:16,代码来源:Patterns.cs

示例2: ExploreFile

        	/// <summary>
            /// Explores given PSI file.
            /// </summary>
			public void ExploreFile(ITreeNode psiFile, UnitTestElementLocationConsumer consumer, CheckForInterrupt interrupted)
        	{
        		if (psiFile == null)
        			throw new ArgumentNullException("psiFile");
        		if (consumer == null)
        			throw new ArgumentNullException("consumer");

        		if (!psiFile.IsValid())
        			return;

        		try
        		{
#if RESHARPER_60
        			var reflectionPolicy = new PsiReflectionPolicy(psiFile.GetPsiServices().PsiManager);
#else
					var reflectionPolicy = new PsiReflectionPolicy(psiFile.GetPsiServices().PsiManager, provider.CacheManager);
#endif
        			var consumerAdapter = new ConsumerAdapter(provider, consumer, psiFile);

        			var codeElements = new List<ICodeElementInfo>();
        			psiFile.ProcessDescendants(new OneActionProcessorWithoutVisit(delegate(ITreeNode element)
					{
						var declaration = element as ITypeDeclaration;
						if (declaration != null)
							PopulateCodeElementsFromTypeDeclaration(codeElements, reflectionPolicy, declaration);
					}, delegate(ITreeNode 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.GetSourceFile().ToProjectFile(), consumerAdapter.CreateProjectFileState());
        		}
        		catch (Exception ex)
        		{
        			HandleEmbeddedProcessCancelledException(ex);
        			throw;
        		}
        	}
开发者ID:dougrathbone,项目名称:mbunit-v3,代码行数:47,代码来源:GallioTestProvider6.cs


注:本文中的ITreeNode.IsValid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。