public CompoundUseSiteInfo(BindingDiagnosticBag <TAssemblySymbol>?futureDestination, TAssemblySymbol assemblyBeingBuilt) { Debug.Assert(assemblyBeingBuilt is object); Debug.Assert(assemblyBeingBuilt is ISourceAssemblySymbolInternal); this = default; if (futureDestination is null) { _discardLevel = DiscardLevel.DiagnosticsAndDependencies; } else if (!futureDestination.AccumulatesDependencies) { _discardLevel = DiscardLevel.Dependencies; } else { _discardLevel = DiscardLevel.None; _assemblyBeingBuilt = assemblyBeingBuilt; } }
private CompoundUseSiteInfo(DiscardLevel discardLevel) { Debug.Assert(discardLevel != DiscardLevel.None); this = default; _discardLevel = discardLevel; }
public CompoundUseSiteInfo(CompoundUseSiteInfo <TAssemblySymbol> template) { this = default; _discardLevel = template._discardLevel; _assemblyBeingBuilt = template._assemblyBeingBuilt; }