From 0e5f65b4750b9c3435b5ef5976700e3e2ce6a103 Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Fri, 20 Jan 2017 23:26:19 +0100 Subject: [PATCH] logic: fixed bug that caused Java packages that only contain sub-packages to be recorded as undefined --- java_indexer/src/io/coati/JavaAstVisitor.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/java_indexer/src/io/coati/JavaAstVisitor.java b/java_indexer/src/io/coati/JavaAstVisitor.java index e90f658d..ec3eeff0 100644 --- a/java_indexer/src/io/coati/JavaAstVisitor.java +++ b/java_indexer/src/io/coati/JavaAstVisitor.java @@ -73,17 +73,28 @@ public class JavaAstVisitor extends JavaAstVisitorAdapter @Override public void visit(final PackageDeclaration n, final Void v) { Name name = n.getName(); - - String packageName = JavaparserDeclNameResolver.getQualifiedName(name).toSerializedNameHierarchy(); - Optional as = name.getBegin(); + JavaIndexer.recordSymbolWithLocationAndScope( - m_callbackId, packageName, SymbolType.PACKAGE, + m_callbackId, + JavaparserDeclNameResolver.getQualifiedName(name).toSerializedNameHierarchy(), + SymbolType.PACKAGE, name.getRange(), n.getRange(), AccessKind.NONE, false ); + while (name.getQualifier().isPresent()) + { + name = name.getQualifier().get(); + JavaIndexer.recordSymbol( + m_callbackId, + JavaparserDeclNameResolver.getQualifiedName(name).toSerializedNameHierarchy(), + SymbolType.PACKAGE, AccessKind.NONE, + false + ); + } + super.visit(n, v); }