示例#1
0
 private void RunAnalysis(ITreeNode node)
 {
     ContextAnalysis.Analyse(
         node,
         null,
         _logger,
         context => { CurrentContext = context; },
         delegate { },
         delegate { });
 }
示例#2
0
 protected override bool AddLookupItems(CSharpCodeCompletionContext context, GroupedItemsCollector collector)
 {
     ContextAnalysis.Analyse(
         context.NodeInFile,
         null,
         _logger,
         OnSuccess,
         delegate { },
         delegate { });
     return(false);
 }
示例#3
0
        private Context RunAnalysis(ITreeNode node)
        {
            Context ctx = null;

            ContextAnalysis.Analyse(
                node,
                null,
                _logger,
                context => { ctx = context; },
                delegate { },
                delegate { });
            return(ctx);
        }
示例#4
0
        protected override bool AddLookupItems(CSharpCodeCompletionContext context, GroupedItemsCollector collector)
        {
            Action <Context> onSuccess = kaveContext =>
            {
                // TODO NameUpdate: untested addition (try/catch)
                try
                {
                    _currentQuery = _queryGen.Extract(kaveContext);
                }
                catch (Exception e)
                {
                    _logger.Error(e, "error while extracting query");
                    _currentQuery = null;
                }

                if (_currentQuery != null && IsAvailable())
                {
                    var rec = LoadIfAvailable();
                    if (rec != null)
                    {
                        try
                        {
                            var proposals = rec.Query(_currentQuery);

                            WrapExistingItems(collector, proposals);
                            WrapNewItems(collector, proposals);
                        }
                        catch (AssertException e)
                        {
                            _logger.Error(e);
                        }
                    }
                    else
                    {
                        _logger.Info("no recommender model found for {0}", _currentQuery.type);
                    }
                }
            };

            ContextAnalysis.Analyse(
                context.NodeInFile,
                null,
                _logger,
                onSuccess,
                delegate { },
                delegate { });

            return(base.AddLookupItems(context, collector));
        }