Skip to content
Closed

. #93

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -100,19 +100,16 @@ internal static List<InvokeCommandTypeGroup> GroupByTypeSignature(
/// <param name="features">The consumer compilation's language-feature snapshot.</param>
/// <remarks>
/// Call sites spelling the same selector reach the same worker, so the worker is keyed by the target type and
/// that text rather than by the call site. Under expression-text dispatch their branches are identical too,
/// and all but the first would be unreachable, so the group is collapsed to one call site per distinct
/// selector. Interception claims each call site by name, so nothing is collapsed there: a dropped call site
/// would carry no attribute and lose its generated invocation.
/// that text rather than by the call site. Whether the group also collapses to one of those call sites is the
/// snapshot's to say, because every API answers it the same way.
/// </remarks>
private static void EmitGroup(
StringBuilder sb,
InvokeCommandTypeGroup group,
ImmutableArray<ClassBindingInfo> allClasses,
in LanguageFeatures features)
{
var collapsible = features.SupportsCallerArgExpr && !features.SupportsInterceptors;
var emitted = collapsible
var emitted = features.CollapsesIndistinguishableCallSites
? group with
{
Invocations = CodeGeneratorHelpers.CollapseIndistinguishableCallSites(
Expand Down
Loading