public AstModuleResolution(AstModuleCache moduleCache, InterpreterConfiguration configuration, AnalysisLogWriter log) { _moduleCache = moduleCache; _configuration = configuration; _log = log; _requireInitPy = ModulePath.PythonVersionRequiresInitPyFiles(_configuration.Version); }
private AstPythonInterpreterFactory( InterpreterConfiguration config, InterpreterFactoryCreationOptions options, bool useDefaultDatabase ) { Configuration = config ?? throw new ArgumentNullException(nameof(config)); CreationOptions = options ?? new InterpreterFactoryCreationOptions(); try { LanguageVersion = Configuration.Version.ToLanguageVersion(); } catch (InvalidOperationException ex) { throw new ArgumentException(ex.Message, ex); } _useDefaultDatabase = useDefaultDatabase; if (!string.IsNullOrEmpty(CreationOptions.DatabasePath) && CreationOptions.TraceLevel != TraceLevel.Off) { _log = new AnalysisLogWriter(Path.Combine(CreationOptions.DatabasePath, "AnalysisLog.txt"), false, LogToConsole, LogCacheSize); _log.Rotate(LogRotationSize); _log.MinimumLevel = CreationOptions.TraceLevel; } ModuleCache = new AstModuleCache(config, CreationOptions.DatabasePath, useDefaultDatabase, !CreationOptions.UseExistingCache, _log); ModuleResolution = new AstModuleResolution(ModuleCache, config, _log); }
public AstModuleResolution(IPythonInterpreter interpreter, ConcurrentDictionary <string, IPythonModule> modules, AstModuleCache astModuleCache, InterpreterConfiguration configuration, AnalysisLogWriter log) { _interpreter = interpreter; _modules = modules; _astModuleCache = astModuleCache; _configuration = configuration; _log = log; _requireInitPy = ModulePath.PythonVersionRequiresInitPyFiles(_configuration.Version); }
public AstPythonInterpreter(AstPythonInterpreterFactory factory, bool useDefaultDatabase, AnalysisLogWriter log = null) { _factory = factory ?? throw new ArgumentNullException(nameof(factory)); _factory.ImportableModulesChanged += Factory_ImportableModulesChanged; Log = log; ModuleCache = new AstModuleCache(factory.Configuration, factory.CreationOptions.DatabasePath, useDefaultDatabase, factory.CreationOptions.UseExistingCache, log); ModuleResolution = new AstModuleResolution(this, _modules, ModuleCache, factory.Configuration, log); }