public FSharpCompiler(IFunctionMetadataResolver metadataResolver, OptimizationLevel optimizationLevel, TraceWriter traceWriter) { _metadataResolver = metadataResolver; _optimizationLevel = optimizationLevel; _traceWriter = traceWriter; _hashRRegex = new Regex(@"^\s*#r\s+", RegexOptions.Compiled | RegexOptions.IgnoreCase); }
internal DotNetFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings, IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader, ICompilationServiceFactory <ICompilationService <IDotNetCompilation>, IFunctionMetadataResolver> compilationServiceFactory, IFunctionMetadataResolver metadataResolver = null) : base(host, functionMetadata) { _metricsLogger = Host.ScriptConfig.HostConfig.GetService <IMetricsLogger>(); _functionEntryPointResolver = functionEntryPointResolver; _assemblyLoader = assemblyLoader; _metadataResolver = metadataResolver ?? CreateMetadataResolver(host, functionMetadata, TraceWriter); _compilationService = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver); _inputBindings = inputBindings; _outputBindings = outputBindings; _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name; InitializeFileWatcher(); _resultProcessor = CreateResultProcessor(); _functionLoader = new FunctionLoader <MethodInfo>(CreateFunctionTarget); _reloadScript = ReloadScriptAsync; _reloadScript = _reloadScript.Debounce(); _onReferencesChanged = OnReferencesChanged; _onReferencesChanged = _onReferencesChanged.Debounce(); _restorePackages = RestorePackages; _restorePackages = _restorePackages.Debounce(); }
internal DotNetFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection<FunctionBinding> inputBindings, Collection<FunctionBinding> outputBindings, IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader, ICompilationServiceFactory compilationServiceFactory, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _metricsLogger = Host.ScriptConfig.HostConfig.GetService<IMetricsLogger>(); _functionEntryPointResolver = functionEntryPointResolver; _assemblyLoader = assemblyLoader; _metadataResolver = new FunctionMetadataResolver(functionMetadata, host.ScriptConfig.BindingProviders, TraceWriter); _compilationService = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver); _inputBindings = inputBindings; _outputBindings = outputBindings; _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name; InitializeFileWatcher(); _resultProcessor = CreateResultProcessor(); _functionLoader = new FunctionLoader<MethodInfo>(CreateFunctionTarget); _reloadScript = ReloadScript; _reloadScript = _reloadScript.Debounce(); _restorePackages = RestorePackages; _restorePackages = _restorePackages.Debounce(); }
internal CSharpFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection<FunctionBinding> inputBindings, Collection<FunctionBinding> outputBindings, IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader) : base(host, functionMetadata) { _host = host; _functionEntryPointResolver = functionEntryPointResolver; _assemblyLoader = assemblyLoader; _metadataResolver = new FunctionMetadataResolver(functionMetadata, TraceWriter); _inputBindings = inputBindings; _outputBindings = outputBindings; _triggerInputName = GetTriggerInputName(functionMetadata); _metrics = host.ScriptConfig.HostConfig.GetService<IMetricsLogger>(); InitializeFileWatcherIfEnabled(); _resultProcessor = CreateResultProcessor(); _functionValueLoader = FunctionValueLoader.Create(CreateFunctionTarget); _reloadScript = ReloadScript; _reloadScript = _reloadScript.Debounce(); _restorePackages = RestorePackages; _restorePackages = _restorePackages.Debounce(); }
internal CSharpFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings, IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader) : base(host, functionMetadata) { _host = host; _functionEntryPointResolver = functionEntryPointResolver; _assemblyLoader = assemblyLoader; _metadataResolver = new FunctionMetadataResolver(functionMetadata, TraceWriter); _inputBindings = inputBindings; _outputBindings = outputBindings; _triggerInputName = GetTriggerInputName(functionMetadata); _metrics = host.ScriptConfig.HostConfig.GetService <IMetricsLogger>(); InitializeFileWatcherIfEnabled(); _resultProcessor = CreateResultProcessor(); _functionValueLoader = FunctionValueLoader.Create(CreateFunctionTarget); _reloadScript = ReloadScript; _reloadScript = _reloadScript.Debounce(); _restorePackages = RestorePackages; _restorePackages = _restorePackages.Debounce(); }
public DynamicFunctionAssemblyLoadContext(FunctionMetadata functionMetadata, IFunctionMetadataResolver resolver, ILogger logger) : base(ResolveFunctionBaseProbingPath()) { _functionMetadata = functionMetadata ?? throw new ArgumentNullException(nameof(functionMetadata)); _metadataResolver = resolver; _logger = logger ?? NullLogger.Instance; }
public FunctionAssemblyLoadContext(FunctionMetadata functionMetadata, Assembly functionAssembly, IFunctionMetadataResolver resolver, TraceWriter traceWriter) { _metadataResolver = resolver; _loadedAssemblies = ImmutableArray<Assembly>.Empty; _traceWriter = traceWriter; FunctionAssembly = functionAssembly; Metadata = functionMetadata; }
public FunctionAssemblyLoadContext(FunctionMetadata functionMetadata, Assembly functionAssembly, IFunctionMetadataResolver resolver, ILogger logger) { _metadataResolver = resolver; _loadedAssemblies = ImmutableArray <Assembly> .Empty; _logger = logger; FunctionAssembly = functionAssembly; Metadata = functionMetadata; }
public FunctionExpressionGenerator(IFunctionMetadataResolver functionMetadataResolver, IFunctionArgumentExpressionsGenerator functionArgumentExpressionsGenerator) { _functionMetadataResolver = functionMetadataResolver; _functionArgumentExpressionsGenerator = functionArgumentExpressionsGenerator; _createFunctionExpressionMethod = new Lazy <MethodInfo>(() => GetType().GetMethod(nameof(CreateFunctionExpression), BindingFlags.Instance | BindingFlags.NonPublic)); }
public ICompilationService CreateService(ScriptType scriptType, IFunctionMetadataResolver metadataResolver) { switch (scriptType) { case ScriptType.CSharp: return(new CSharpCompilationService(metadataResolver)); default: throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, "The script type {0} is not supported by the {1}", scriptType, typeof(DotNetCompilationServiceFactory).Name)); } }
public async Task SetupAsync() { ScriptPath = Path.Combine(GetCSharpSamplePath(), BenchmarkTrigger, "run.csx"); ScriptSource = File.ReadAllText(ScriptPath); FunctionMetadata = new FunctionMetadata() { FunctionDirectory = Path.GetDirectoryName(ScriptPath), ScriptFile = ScriptPath, Name = BenchmarkTrigger, Language = DotNetScriptTypes.CSharp }; Resolver = new ScriptFunctionMetadataResolver(ScriptPath, Array.Empty <IScriptBindingProvider>(), NullLogger.Instance); CompilationService = new CSharpCompilationService(Resolver, OptimizationLevel.Release); ScriptCompilation = await CompilationService.GetFunctionCompilationAsync(FunctionMetadata); ScriptAssembly = await ScriptCompilation.EmitAsync(default);
public FunctionAssemblyLoadContext CreateOrUpdateContext(FunctionMetadata metadata, Assembly functionAssembly, IFunctionMetadataResolver metadataResolver, TraceWriter traceWriter) { if (metadata == null) { throw new ArgumentNullException("metadata"); } if (functionAssembly == null) { throw new ArgumentNullException("functionAssembly"); } if (metadataResolver == null) { throw new ArgumentNullException("metadataResolver"); } if (traceWriter == null) { throw new ArgumentNullException("traceWriter"); } var context = new FunctionAssemblyLoadContext(metadata, functionAssembly, metadataResolver, traceWriter); return _functionContexts.AddOrUpdate(metadata.Name, context, (s, o) => context); }
public FunctionAssemblyLoadContext CreateOrUpdateContext(FunctionMetadata metadata, Assembly functionAssembly, IFunctionMetadataResolver metadataResolver, TraceWriter traceWriter) { if (metadata == null) { throw new ArgumentNullException("metadata"); } if (functionAssembly == null) { throw new ArgumentNullException("functionAssembly"); } if (metadataResolver == null) { throw new ArgumentNullException("metadataResolver"); } if (traceWriter == null) { throw new ArgumentNullException("traceWriter"); } var context = new FunctionAssemblyLoadContext(metadata, functionAssembly, metadataResolver, traceWriter); return(_functionContexts.AddOrUpdate(metadata.Name, context, (s, o) => context)); }
public CSharpCompilationService(IFunctionMetadataResolver metadataResolver) { _metadataResolver = metadataResolver; }
public CSharpCompilationService(IFunctionMetadataResolver metadataResolver, OptimizationLevel optimizationLevel) { _metadataResolver = metadataResolver; _optimizationLevel = optimizationLevel; }
public FSharpCompiler(IFunctionMetadataResolver metadataResolver, OptimizationLevel optimizationLevel) { _metadataResolver = metadataResolver; _optimizationLevel = optimizationLevel; }
public FunctionAssemblyLoadContext CreateOrUpdateContext(FunctionMetadata metadata, Assembly functionAssembly, IFunctionMetadataResolver metadataResolver, TraceWriter traceWriter, ILoggerFactory loggerFactory) { if (metadata == null) { throw new ArgumentNullException("metadata"); } if (functionAssembly == null) { throw new ArgumentNullException("functionAssembly"); } if (metadataResolver == null) { throw new ArgumentNullException("metadataResolver"); } if (traceWriter == null) { throw new ArgumentNullException("traceWriter"); } ILogger logger = loggerFactory?.CreateLogger(LogCategories.Startup); var context = new FunctionAssemblyLoadContext(metadata, functionAssembly, metadataResolver, traceWriter, logger); return(_functionContexts.AddOrUpdate(metadata.Name, context, (s, o) => context)); }
public FSharpCompiler(IFunctionMetadataResolver metadataResolver) { _metadataResolver = metadataResolver; }
public TestDynamicAssemblyLoadContext(WebJobs.Script.Description.FunctionMetadata functionMetadata, IFunctionMetadataResolver resolver, ILogger logger, FunctionAssemblyLoadContext sharedContext) : base(functionMetadata, resolver, logger) { _sharedContext = sharedContext; }
public ICompilationService <IDotNetCompilation> CreateService(string language, IFunctionMetadataResolver metadata) { switch (language) { case DotNetScriptTypes.CSharp: return(new CSharpCompilationService(metadata, OptimizationLevel)); case DotNetScriptTypes.DotNetAssembly: return(new RawAssemblyCompilationService()); default: throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, "The language {0} is not supported by the {1}", language, typeof(DotNetCompilationServiceFactory).Name)); } }