public async Task InitializeSourceAsync(Project project) { project = await ClashingMemberRenamer.RenameClashingSymbolsAsync(project); var cSharpCompilationOptions = CSharpCompiler.CreateCompilationOptions(); _convertedCsProject = project.ToProjectFromAnyOptions(cSharpCompilationOptions, CSharpCompiler.ParseOptions); _csharpReferenceProject = project.CreateReferenceOnlyProjectFromAnyOptions(cSharpCompilationOptions, CSharpCompiler.ParseOptions); _csharpViewOfVbSymbols = (CSharpCompilation)await _csharpReferenceProject.GetCompilationAsync(_cancellationToken); _designerToResxRelativePath = project.ReadVbEmbeddedResources().ToDictionary(r => r.LastGenOutput, r => r.RelativePath); SourceProject = await WithProjectLevelWinformsAdjustmentsAsync(project); }
public async Task InitializeSourceAsync(Project project) { project = await ClashingMemberRenamer.RenameClashingSymbolsAsync(project); var cSharpCompilationOptions = CSharpCompiler.CreateCompilationOptions(); _convertedCsProject = project.ToProjectFromAnyOptions(cSharpCompilationOptions, CSharpCompiler.ParseOptions); _csharpReferenceProject = project.CreateReferenceOnlyProjectFromAnyOptions(cSharpCompilationOptions, CSharpCompiler.ParseOptions); _csharpViewOfVbSymbols = (CSharpCompilation)await _csharpReferenceProject.GetCompilationAsync(_cancellationToken); _designerToResxRelativePath = project.ReadVbEmbeddedResources().ToDictionary(r => r.LastGenOutput, r => r.RelativePath); SourceProject = await WithProjectLevelWinformsAdjustmentsAsync(project); var compilation = await project.GetCompilationAsync(_cancellationToken); _typeToInheritors = compilation.GetAllNamespacesAndTypes().OfType <ITypeSymbol>() .Where(t => t.BaseType?.IsDefinedInSource() == true) .ToLookup(t => t.BaseType, TypeSymbolFullNameComparer.Instance); }