Пример #1
0
        public void Complete()
        {
            SymbolTable.EvaluateAll();
            SymbolTable.ReplacedByStubs.Clear();
            MergeStub();

            if (_allIsUsable && _allReferencesCount >= 1 && GlobalScope.Variables.TryGetVariable(AllVariableName, out var variable) && variable?.Value is IPythonCollection collection)
            {
                ExportedMemberNames = collection.Contents
                                      .OfType <IPythonConstant>()
                                      .Select(c => c.GetString())
                                      .Where(s => !string.IsNullOrEmpty(s))
                                      .ToImmutableArray();
            }

            Eval.ClearCache();
        }
        public void Complete()
        {
            _cancellationToken.ThrowIfCancellationRequested();

            SymbolTable.EvaluateAll();
            SymbolTable.ReplacedByStubs.Clear();
            new StubMerger(Eval).MergeStub(_stubAnalysis, _cancellationToken);

            if (_allIsUsable && _allReferencesCount >= 1 && GlobalScope.Variables.TryGetVariable(AllVariableName, out var variable) &&
                variable.Value is IPythonCollection collection && collection.IsExact)
            {
                StarImportMemberNames = collection.Contents
                                        .OfType <IPythonConstant>()
                                        .Select(c => c.GetString())
                                        .Where(s => !string.IsNullOrEmpty(s))
                                        .ToImmutableArray();
            }

            Eval.ClearCache();
        }