Esempio n. 1
0
        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);
        }