logic: recording implicit Java packages

* implemented recording of package qualifiers as packages
* modified search parameters
This commit is contained in:
mlangkabel
2017-09-07 17:38:15 +02:00
parent 5f9a6d7046
commit b586c6ce53
3 changed files with 17 additions and 3 deletions
@@ -30,9 +30,11 @@ import org.eclipse.jdt.core.dom.Javadoc;
import org.eclipse.jdt.core.dom.LineComment;
import org.eclipse.jdt.core.dom.MethodDeclaration;
import org.eclipse.jdt.core.dom.MethodInvocation;
import org.eclipse.jdt.core.dom.Name;
import org.eclipse.jdt.core.dom.NameQualifiedType;
import org.eclipse.jdt.core.dom.PackageDeclaration;
import org.eclipse.jdt.core.dom.PrimitiveType;
import org.eclipse.jdt.core.dom.QualifiedName;
import org.eclipse.jdt.core.dom.QualifiedType;
import org.eclipse.jdt.core.dom.SimpleName;
import org.eclipse.jdt.core.dom.SimpleType;
@@ -82,12 +84,24 @@ public abstract class AstVisitor extends ASTVisitor
@Override
public boolean visit(PackageDeclaration node)
{
Name name = node.getName();
m_client.recordSymbolWithLocation(
DeclNameResolver.getQualifiedName(node.getName()).toNameHierarchy(),
DeclNameResolver.getQualifiedName(name).toNameHierarchy(),
SymbolKind.PACKAGE,
getRange(node.getName()),
AccessKind.NONE,
DefinitionKind.EXPLICIT);
while (name instanceof QualifiedName)
{
name = ((QualifiedName) name).getQualifier();
m_client.recordSymbol(
DeclNameResolver.getQualifiedName(name).toNameHierarchy(),
SymbolKind.PACKAGE,
AccessKind.NONE,
DefinitionKind.EXPLICIT);
}
return true;
}
+1 -1
View File
@@ -110,7 +110,7 @@ std::vector<SearchResult> SearchIndex::search(
searchRecursive(startPath, utility::toLowerCase(query), filter, &paths);
// create scored search results
std::multiset<SearchResult> searchResults = createScoredResults(paths, filter, maxResultCount * 2);
std::multiset<SearchResult> searchResults = createScoredResults(paths, filter, maxResultCount * 3);
// find best scores
std::map<std::string, SearchResult> scoresCache;
+1 -1
View File
@@ -716,7 +716,7 @@ std::vector<SearchMatch> PersistentStorage::getAutocompletionSymbolMatches(
std::vector<SearchMatch> PersistentStorage::getAutocompletionFileMatches(const std::string& query, size_t maxResultsCount) const
{
std::vector<SearchResult> results = m_fileIndex.search(query, Node::NODE_FILE, maxResultsCount, 150);
std::vector<SearchResult> results = m_fileIndex.search(query, Node::NODE_FILE, maxResultsCount, 100);
// create SearchMatches
std::vector<SearchMatch> matches;