Ejemplo n.º 1
0
        /// <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);
 }