📄 core/src/CallGraph.cs
using System.Collections.Immutable;
using Microsoft.CodeAnalysis;

namespace Cfa;

public sealed record CallGraph(
    ISymbol Origin,
    IImmutableDictionary<ISymbol, IImmutableList<Call>> CallsTo,
    IImmutableDictionary<ISymbol, IImmutableList<Call>> CalledFrom
);

public sealed record Call(ISymbol Target, LinkKind LinkKind);

public enum LinkKind
{
    Direct,
    Abstract,
}