code review
This commit is contained in:
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.psi.*
|
|||||||
public interface KotlinFileStub : PsiFileStub<JetFile> {
|
public interface KotlinFileStub : PsiFileStub<JetFile> {
|
||||||
public fun getPackageFqName(): FqName
|
public fun getPackageFqName(): FqName
|
||||||
public fun isScript(): Boolean
|
public fun isScript(): Boolean
|
||||||
public fun findImportByAlias(alias: String): KotlinImportDirectiveStub?
|
public fun findImportsByAlias(alias: String): List<KotlinImportDirectiveStub>
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface KotlinPlaceHolderStub<T : JetElement> : StubElement<T>
|
public interface KotlinPlaceHolderStub<T : JetElement> : StubElement<T>
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ public class KotlinFileStubImpl(jetFile: JetFile?, private val packageName: Stri
|
|||||||
return childrenStubs.filterIsInstance<PsiClassStub<*>>().map { it.psi }.toTypedArray()
|
return childrenStubs.filterIsInstance<PsiClassStub<*>>().map { it.psi }.toTypedArray()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun findImportByAlias(alias: String): KotlinImportDirectiveStub? {
|
override fun findImportsByAlias(alias: String): List<KotlinImportDirectiveStub> {
|
||||||
val importList = childrenStubs.firstOrNull { it.stubType == JetStubElementTypes.IMPORT_LIST } ?: return null
|
val importList = childrenStubs.firstOrNull { it.stubType == JetStubElementTypes.IMPORT_LIST } ?: return emptyList()
|
||||||
return importList.childrenStubs.filterIsInstance<KotlinImportDirectiveStub>().firstOrNull { it.getAliasName() == alias }
|
return importList.childrenStubs.filterIsInstance<KotlinImportDirectiveStub>().filter { it.getAliasName() == alias }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-3
@@ -24,6 +24,8 @@ import org.jetbrains.kotlin.psi.stubs.*;
|
|||||||
import org.jetbrains.kotlin.psi.stubs.elements.StubIndexService;
|
import org.jetbrains.kotlin.psi.stubs.elements.StubIndexService;
|
||||||
import org.jetbrains.kotlin.util.UtilPackage;
|
import org.jetbrains.kotlin.util.UtilPackage;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class StubIndexServiceImpl implements StubIndexService {
|
public class StubIndexServiceImpl implements StubIndexService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -127,9 +129,9 @@ public class StubIndexServiceImpl implements StubIndexService {
|
|||||||
|
|
||||||
KotlinFileStub fileStub = getContainingFileStub(stub);
|
KotlinFileStub fileStub = getContainingFileStub(stub);
|
||||||
if (fileStub != null) {
|
if (fileStub != null) {
|
||||||
KotlinImportDirectiveStub aliasImportStub = fileStub.findImportByAlias(stub.getShortName());
|
List<KotlinImportDirectiveStub> aliasImportStubs = fileStub.findImportsByAlias(stub.getShortName());
|
||||||
if (aliasImportStub != null) {
|
for (KotlinImportDirectiveStub importStub : aliasImportStubs) {
|
||||||
sink.occurrence(JetAnnotationsIndex.getInstance().getKey(), aliasImportStub.getImportedFqName().shortName().asString());
|
sink.occurrence(JetAnnotationsIndex.getInstance().getKey(), importStub.getImportedFqName().shortName().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
|||||||
import org.jetbrains.kotlin.idea.stubindex.JetAnnotationsIndex
|
import org.jetbrains.kotlin.idea.stubindex.JetAnnotationsIndex
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
@@ -91,7 +92,7 @@ public class KotlinAnnotatedElementsSearcher : QueryExecutor<PsiModifierListOwne
|
|||||||
return JetAnnotationsIndex.getInstance().get(name, annClass.getProject(), useScope)
|
return JetAnnotationsIndex.getInstance().get(name, annClass.getProject(), useScope)
|
||||||
}
|
}
|
||||||
|
|
||||||
return (useScope as LocalSearchScope).scope.flatMap { it.getChildrenOfType<JetAnnotationEntry>().asIterable() }
|
return (useScope as LocalSearchScope).scope.flatMap { it.collectDescendantsOfType<JetAnnotationEntry>() }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user