示例#1
0
        protected override bool AddLookupItems(CSharpCodeCompletionContext context, IItemsCollector collector)
        {
            LastException = null;
            var analysisResult = ContextAnalysis.Analyze(context.NodeInFile, null, MockLogger());

            LastContext          = analysisResult.Context;
            LastEntryPoints      = analysisResult.EntryPoints;
            LastCompletionMarker = analysisResult.CompletionMarker;
            if (IsPrintingType)
            {
                PrintType(context, LastCompletionMarker);
            }


            LastSST = LastContext.SST;

            return(base.AddLookupItems(context, collector));
        }
示例#2
0
        private void AnalyzeType(ICSharpTypeDeclaration aType, IPsiSourceFile psiSourceFile)
        {
            _logger.Info("Analyzing type '{0}'...", aType.CLRName);

            try
            {
                var ctx = ContextAnalysis.Analyze(aType, psiSourceFile, _logger).Context;
                _cbContext(ctx);
            }
            catch (Exception e)
            {
                _logger.Error(e);
            }

            foreach (var innerType in aType.TypeDeclarations.OfType <ICSharpTypeDeclaration>())
            {
                AnalyzeType(innerType, psiSourceFile);
            }
        }