Пример #1
0
        public static SourceFileGrouping Rebuild(IModuleDispatcher moduleDispatcher, IReadOnlyWorkspace workspace, SourceFileGrouping current, RootConfiguration configuration)
        {
            var builder = new SourceFileGroupingBuilder(current.FileResolver, moduleDispatcher, workspace, current, configuration);

            foreach (var module in current.ModulesToRestore)
            {
                builder.sourceFilesByModuleDeclaration.Remove(module);
                builder.errorBuildersByModuleDeclaration.Remove(module);
            }

            return(builder.Build(current.EntryPoint.FileUri));
        }
Пример #2
0
 private SourceFileGroupingBuilder(IFileResolver fileResolver, IModuleDispatcher moduleDispatcher, IReadOnlyWorkspace workspace, RootConfiguration configuration)
 {
     this.fileResolver     = fileResolver;
     this.moduleDispatcher = moduleDispatcher;
     this.workspace        = workspace;
     this.configuration    = configuration;
     this.sourceFilesByModuleDeclaration   = new();
     this.errorBuildersByModuleDeclaration = new();
     this.modulesToRestore   = new();
     this.sourceFilesByUri   = new();
     this.errorBuildersByUri = new();
 }
Пример #3
0
 public PublishCommand(
     IDiagnosticLogger diagnosticLogger,
     CompilationService compilationService,
     CompilationWriter compilationWriter,
     IModuleDispatcher moduleDispatcher,
     IConfigurationManager configurationManager)
 {
     this.diagnosticLogger     = diagnosticLogger;
     this.compilationService   = compilationService;
     this.compilationWriter    = compilationWriter;
     this.moduleDispatcher     = moduleDispatcher;
     this.configurationManager = configurationManager;
 }
Пример #4
0
        private SourceFileGroupingBuilder(IFileResolver fileResolver, IModuleDispatcher moduleDispatcher, IReadOnlyWorkspace workspace, SourceFileGrouping current)
        {
            this.fileResolver     = fileResolver;
            this.moduleDispatcher = moduleDispatcher;
            this.workspace        = workspace;

            this.sourceFilesByModuleDeclaration   = new(current.SourceFilesByModuleDeclaration);
            this.errorBuildersByModuleDeclaration = new(current.ErrorBuildersByModuleDeclaration);

            this.modulesToInit = new();

            this.sourceFilesByUri   = current.SourceFiles.ToDictionary(tree => tree.FileUri);
            this.errorBuildersByUri = new();
        }
Пример #5
0
 public BicepDefinitionHandler(
     ISymbolResolver symbolResolver,
     ICompilationManager compilationManager,
     IFileResolver fileResolver,
     IWorkspace workspace,
     ILanguageServerFacade languageServer,
     IModuleDispatcher moduleDispatcher) : base()
 {
     this.symbolResolver     = symbolResolver;
     this.compilationManager = compilationManager;
     this.fileResolver       = fileResolver;
     this.workspace          = workspace;
     this.languageServer     = languageServer;
     this.moduleDispatcher   = moduleDispatcher;
 }
Пример #6
0
 public CompilationService(
     IDiagnosticLogger diagnosticLogger,
     IFileResolver fileResolver,
     InvocationContext invocationContext,
     IModuleDispatcher moduleDispatcher,
     IConfigurationManager configurationManager,
     TemplateDecompiler decompiler)
 {
     this.diagnosticLogger     = diagnosticLogger;
     this.fileResolver         = fileResolver;
     this.moduleDispatcher     = moduleDispatcher;
     this.configurationManager = configurationManager;
     this.invocationContext    = invocationContext;
     this.workspace            = new Workspace();
     this.decompiler           = decompiler;
 }
 public BicepDeploymentScopeRequestHandler(
     EmitterSettings emitterSettings,
     ICompilationManager compilationManager,
     IConfigurationManager configurationManager,
     IFeatureProvider features,
     IFileResolver fileResolver,
     IModuleDispatcher moduleDispatcher,
     INamespaceProvider namespaceProvider)
 {
     this.compilationManager   = compilationManager;
     this.configurationManager = configurationManager;
     this.emitterSettings      = emitterSettings;
     this.features             = features;
     this.fileResolver         = fileResolver;
     this.moduleDispatcher     = moduleDispatcher;
     this.namespaceProvider    = namespaceProvider;
 }
Пример #8
0
        public static SourceFileGrouping Rebuild(IModuleDispatcher moduleDispatcher, IReadOnlyWorkspace workspace, SourceFileGrouping current, RootConfiguration configuration)
        {
            var builder = new SourceFileGroupingBuilder(current.FileResolver, moduleDispatcher, workspace, current, configuration);

            foreach (var module in current.ModulesToRestore)
            {
                builder.sourceFilesByModuleDeclaration.Remove(module);
                builder.errorBuildersByModuleDeclaration.Remove(module);
            }

            // Rebuild source files that contains external module references restored during the inital build.
            var sourceFilesToRebuild = current.SourceFiles
                                       .Where(sourceFile => GetModuleDeclarations(sourceFile).Any(moduleDeclaration => current.ModulesToRestore.Contains(moduleDeclaration)))
                                       .ToImmutableHashSet();

            return(builder.Build(current.EntryPoint.FileUri, sourceFilesToRebuild));
        }
Пример #9
0
        private SourceFileGroupingBuilder(IFileResolver fileResolver, IModuleDispatcher moduleDispatcher, IReadOnlyWorkspace workspace, SourceFileGrouping current, RootConfiguration configuration, bool forceforceModulesRestore = false)
        {
            this.fileResolver     = fileResolver;
            this.moduleDispatcher = moduleDispatcher;
            this.workspace        = workspace;
            this.configuration    = configuration;

            this.sourceFilesByModuleDeclaration   = new(current.SourceFilesByModuleDeclaration);
            this.errorBuildersByModuleDeclaration = new(current.ErrorBuildersByModuleDeclaration);

            this.modulesToRestore = new();

            this.sourceFilesByUri   = current.SourceFiles.ToDictionary(tree => tree.FileUri);
            this.errorBuildersByUri = new();

            this.forceModulesRestore = forceforceModulesRestore;
        }
Пример #10
0
 public BicepDeploymentScopeRequestHandler(
     EmitterSettings emitterSettings,
     ICompilationManager compilationManager,
     IConfigurationManager configurationManager,
     IFeatureProvider features,
     IFileResolver fileResolver,
     IModuleDispatcher moduleDispatcher,
     INamespaceProvider namespaceProvider,
     ISerializer serializer)
     : base(LangServerConstants.GetDeploymentScopeCommand, serializer)
 {
     this.compilationManager   = compilationManager;
     this.configurationManager = configurationManager;
     this.emitterSettings      = emitterSettings;
     this.features             = features;
     this.fileResolver         = fileResolver;
     this.moduleDispatcher     = moduleDispatcher;
     this.namespaceProvider    = namespaceProvider;
 }
Пример #11
0
 public BicepCompilationProvider(IResourceTypeProvider resourceTypeProvider, IFileResolver fileResolver, IModuleDispatcher moduleDispatcher)
 {
     this.resourceTypeProvider = resourceTypeProvider;
     this.fileResolver         = fileResolver;
     this.moduleDispatcher     = moduleDispatcher;
 }
Пример #12
0
        public static SourceFileGrouping Build(IFileResolver fileResolver, IModuleDispatcher moduleDispatcher, IReadOnlyWorkspace workspace, Uri entryFileUri, RootConfiguration configuration)
        {
            var builder = new SourceFileGroupingBuilder(fileResolver, moduleDispatcher, workspace, configuration);

            return(builder.Build(entryFileUri));
        }
Пример #13
0
 public static IEnumerable <ModuleReference> GetValidModuleReferences(this IModuleDispatcher moduleDispatcher, IEnumerable <ModuleDeclarationSyntax> modules, RootConfiguration configuration) =>
 modules
 .Select(module => moduleDispatcher.TryGetModuleReference(module, configuration, out _))
 .WhereNotNull();
 public BicepRegistryCacheRequestHandler(IModuleDispatcher moduleDispatcher, IFileResolver fileResolver, IConfigurationManager configurationManager)
 {
     this.moduleDispatcher     = moduleDispatcher;
     this.fileResolver         = fileResolver;
     this.configurationManager = configurationManager;
 }
Пример #15
0
 public BicepBuildCommandHandler(ICompilationManager compilationManager, ISerializer serializer, EmitterSettings emitterSettings, INamespaceProvider namespaceProvider, IFileResolver fileResolver, IModuleDispatcher moduleDispatcher, IConfigurationManager configurationManager)
     : base(LanguageConstants.Build, serializer)
 {
     this.compilationManager   = compilationManager;
     this.emitterSettings      = emitterSettings;
     this.namespaceProvider    = namespaceProvider;
     this.fileResolver         = fileResolver;
     this.moduleDispatcher     = moduleDispatcher;
     this.configurationManager = configurationManager;
 }
Пример #16
0
 public BicepCompilationProvider(IFeatureProvider features, INamespaceProvider namespaceProvider, IFileResolver fileResolver, IModuleDispatcher moduleDispatcher)
 {
     this.features          = features;
     this.namespaceProvider = namespaceProvider;
     this.fileResolver      = fileResolver;
     this.moduleDispatcher  = moduleDispatcher;
 }