示例#1
0
 protected override TargetCompilationConfiguration PrepareTargetCompilationConfiguration(
     TargetCompilationConfiguration targetCompilationConfiguration)
 => targetCompilationConfiguration.With(
     defaultWarningSuppressions: targetCompilationConfiguration
     .DefaultWarningSuppressions
     .Concat(defaultWarningSuppressions)
     .ToArray());
示例#2
0
        public Task <TargetCompilationConfiguration> CreateEvaluationContextAsync(
            TargetCompilationConfiguration targetCompilationConfiguration,
            CancellationToken cancellationToken = default)
        {
            if (targetCompilationConfiguration == null)
            {
                throw new ArgumentNullException(nameof(targetCompilationConfiguration));
            }

            var globalStateObject = CreateGlobalState();

            targetCompilationConfiguration = targetCompilationConfiguration.With(
                runtime: Runtime.CurrentProcessRuntime,
                defaultImports: defaultImports);

            targetCompilationConfiguration = PrepareTargetCompilationConfiguration(
                targetCompilationConfiguration);

            targetCompilationConfiguration = FinalizeTargetCompilationConfiguration(
                targetCompilationConfiguration,
                globalStateObject);

            var evaluationContext = new EvaluationContext(
                this,
                globalStateObject);

            if (globalStateObject is EvaluationContextGlobalObject evaluationContextGlobalObject)
            {
                evaluationContextGlobalObject.EvaluationContext = evaluationContext;
            }

            evaluationContexts.Add(
                targetCompilationConfiguration.EvaluationContextId,
                new EvaluationContextRegistration(
                    evaluationContext,
                    evaluationContext.Events.Subscribe(
                        new Observer <ICodeCellEvent> (events.Observers.OnNext))));

            OnEvaluationContextCreated(evaluationContext);

            return(Task.FromResult(targetCompilationConfiguration));
        }
示例#3
0
 protected override TargetCompilationConfiguration PrepareTargetCompilationConfiguration(
     TargetCompilationConfiguration configuration)
 => configuration.With(
     includePEImagesInDependencyResolution: configuration.CompilationOS != HostOS.macOS,
     defaultImports: configuration.DefaultImports.Concat(defaultImports).ToArray());
 protected override TargetCompilationConfiguration PrepareTargetCompilationConfiguration(
     TargetCompilationConfiguration configuration)
 => configuration.With(includePEImagesInDependencyResolution: true);
示例#5
0
 protected override TargetCompilationConfiguration PrepareTargetCompilationConfiguration(
     TargetCompilationConfiguration configuration)
 => configuration.With(
     defaultImports: configuration.DefaultImports.Concat(defaultImports).ToArray());