📄 CompilationExtensions.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
using System.Collections.Generic;
using Microsoft.CodeAnalysis;

namespace Reacher;

public static class CompilationExtensions
{
    public static IEnumerable<IMethodSymbol> GetPublicMembers(this Compilation compilation)
    {
        var collector = new PublicMembersCollector();
        compilation.Assembly.Accept(collector);
        return collector.PublicMembers;
    }
}