Not marking entry points as unused.
This commit is contained in:
@@ -29,8 +29,12 @@ import org.jetbrains.kotlin.idea.search.usagesSearch.UsagesSearch
|
||||
import com.intellij.util.Processor
|
||||
import org.jetbrains.kotlin.idea.JetBundle
|
||||
import com.intellij.codeInspection.ProblemHighlightType
|
||||
import com.intellij.codeInspection.deadCode.UnusedDeclarationInspection
|
||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||
|
||||
public class UnusedSymbolInspection : AbstractKotlinInspection() {
|
||||
private val javaInspection = UnusedDeclarationInspection()
|
||||
|
||||
override fun runForWholeFile() = true
|
||||
|
||||
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession): PsiElementVisitor {
|
||||
@@ -38,6 +42,9 @@ public class UnusedSymbolInspection : AbstractKotlinInspection() {
|
||||
override fun visitClass(klass: JetClass) {
|
||||
if (klass.getName() == null) return
|
||||
|
||||
val lightClass = LightClassUtil.getPsiClass(klass)
|
||||
if (lightClass != null && javaInspection.isEntryPoint(lightClass)) return
|
||||
|
||||
val usagesSearchHelper = KotlinClassFindUsagesOptions(holder.getProject()).toClassHelper()
|
||||
val request = usagesSearchHelper.newRequest(UsagesSearchTarget(klass, klass.getUseScope()))
|
||||
val query = UsagesSearch.search(request)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
|
||||
// WITH_RUNTIME
|
||||
open class A: java.applet.Applet()
|
||||
|
||||
class B: A()
|
||||
@@ -0,0 +1,5 @@
|
||||
object EntryPoint {
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user