in Backend/RiderPlugin/ForTea.RiderPlugin/TemplateProcessing/CodeGeneration/Reference/Impl/T4ReferenceExtractionManager.cs [43:68]
public IEnumerable<MetadataReference> ExtractPortableReferencesForResolve(Lifetime lifetime, IT4File file) =>
ExtractReferenceLocations(file)
.Select(location => LowLevelReferenceExtractionManager.ResolveMetadata(lifetime, location))
.AsList();
public IEnumerable<MetadataReference> ExtractPortableReferencesForCompilation(
Lifetime lifetime,
IT4File file
) => ExtractPortableReferencesForResolve(lifetime, file)
.Concat(Environment
.AdditionalCompilationAssemblyLocations
.Select(location =>
LowLevelReferenceExtractionManager.ResolveMetadata(lifetime, location)
)
);
public IEnumerable<T4AssemblyReferenceInfo> ExtractReferenceLocationsTransitive(IT4File file)
{
var directDependencies = ExtractReferenceLocations(file);
var sourceFile = file.PhysicalPsiSourceFile.NotNull();
var projectFile = sourceFile.ToProjectFile().NotNull();
return LowLevelReferenceExtractionManager.ResolveTransitiveDependencies(
directDependencies,
projectFile.SelectResolveContext()
);
}