コード例 #1
0
        private async Task InitializeAsync(
            string root,
            IServiceManager sm,
            string typeshedPath,
            ImmutableArray <string> userConfiguredPaths,
            CancellationToken cancellationToken
            )
        {
            cancellationToken.ThrowIfCancellationRequested();

            sm.AddService(this);
            _moduleResolution = new MainModuleResolution(root, sm, userConfiguredPaths);
            _stubResolution   = new TypeshedResolution(typeshedPath, sm);

            await _stubResolution.ReloadAsync(cancellationToken);

            await _moduleResolution.ReloadAsync(cancellationToken);
        }
コード例 #2
0
        private async Task LoadBuiltinTypesAsync(string root, IServiceManager sm, CancellationToken cancellationToken = default)
        {
            cancellationToken.ThrowIfCancellationRequested();

            sm.AddService(this);
            _moduleResolution = new MainModuleResolution(root, sm);
            lock (_lock) {
                var builtinModule = _moduleResolution.CreateBuiltinsModule();
                _builtinTypes[BuiltinTypeId.NoneType]
                    = new PythonType("NoneType", builtinModule, string.Empty, LocationInfo.Empty, BuiltinTypeId.NoneType);
                _builtinTypes[BuiltinTypeId.Unknown]
                    = UnknownType = new PythonType("Unknown", builtinModule, string.Empty, LocationInfo.Empty);
            }
            await _moduleResolution.InitializeAsync(cancellationToken);

            _stubResolution = new TypeshedResolution(sm);
            await _stubResolution.InitializeAsync(cancellationToken);

            await _moduleResolution.LoadBuiltinTypesAsync(cancellationToken);
        }