/// <summary> /// Query if the extended <paramref name="compilation"/> contains a class with the /// given <paramref name="className"/>. /// </summary> /// <param name="compilation"> The extended <see cref="Compilation"/>. </param> /// <param name="className"> The name of the class to be found. </param> /// <returns> /// True if a class with the given <paramref name="className"/> was found, false otherwise. /// </returns> public static bool ContainsClass(this Compilation compilation, string className) { var classWalker = new ClassWalker(); foreach (var tree in compilation.SyntaxTrees) { classWalker.Visit(tree.GetRoot()); if (classWalker.FoundClasses.Any(@class => string.Equals( @class, className, System.StringComparison.OrdinalIgnoreCase))) { return(true); } } return(false); }
public ClassInspector(SemanticModel semanticModel) { _semanticModel = semanticModel; _walker = new ClassWalker(_semanticModel); }