Added workaround for the problem that IDEA doesn't allow keywords in cls annotations.
This commit is contained in:
@@ -123,6 +123,12 @@ public class UnusedSymbolInspection : AbstractKotlinInspection() {
|
||||
}
|
||||
|
||||
private fun isEntryPoint(declaration: JetNamedDeclaration): Boolean {
|
||||
// TODO Workaround for EA-64030 - IOE: PsiJavaParserFacadeImpl.createAnnotationFromText
|
||||
// This should be fixed on IDEA side: ClsAnnotation should not throw exceptions when annotation class has Java keyword
|
||||
if (declaration is JetNamedFunction) {
|
||||
if (declaration.getAnnotationEntries().any { it.getTypeReference().getText().endsWith("native") }) return false
|
||||
}
|
||||
|
||||
val lightElement: PsiElement? = when (declaration) {
|
||||
is JetClassOrObject -> declaration.toLightClass()
|
||||
is JetNamedFunction -> LightClassUtil.getLightClassMethod(declaration)
|
||||
|
||||
@@ -51,4 +51,13 @@
|
||||
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused Symbol</problem_class>
|
||||
<description>Function 'unused' is never used</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>withNativeAnnotation.kt</file>
|
||||
<line>3</line>
|
||||
<module>light_idea_test_case</module>
|
||||
<entry_point TYPE="file" FQNAME="temp:///src/withNativeAnnotation.kt" />
|
||||
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused Symbol</problem_class>
|
||||
<description>Function 'withNativeAnnotation' is never used</description>
|
||||
</problem>
|
||||
</problems>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
annotation class native
|
||||
|
||||
native fun withNativeAnnotation() {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user