diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt index dca50773db4..3f28ba7f38b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/JetPsiChecker.kt @@ -23,6 +23,7 @@ import com.intellij.lang.annotation.Annotation import com.intellij.lang.annotation.AnnotationHolder import com.intellij.lang.annotation.Annotator import com.intellij.openapi.application.ApplicationManager +import com.intellij.openapi.editor.colors.CodeInsightColors import com.intellij.openapi.editor.colors.TextAttributesKey import com.intellij.openapi.progress.ProcessCanceledException import com.intellij.psi.MultiRangeReference @@ -147,6 +148,9 @@ public open class JetPsiChecker : Annotator, HighlightRangeExtension { } for (textRange in textRanges) { val annotation = holder.createWarningAnnotation(textRange, getDefaultMessage(diagnostic)) + + if (factory == Errors.DEPRECATED_CLASS_OBJECT_SYNTAX) annotation.setTextAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES) + setUpAnnotation(diagnostic, annotation, if (factory in Errors.UNUSED_ELEMENT_DIAGNOSTICS) ProblemHighlightType.LIKE_UNUSED_SYMBOL else diff --git a/idea/testData/checker/DeprecatedClassObjectSyntax.kt b/idea/testData/checker/DeprecatedClassObjectSyntax.kt new file mode 100644 index 00000000000..28762f55af4 --- /dev/null +++ b/idea/testData/checker/DeprecatedClassObjectSyntax.kt @@ -0,0 +1,17 @@ +class A { + class object { + + } +} + +class B { + class object C { + + } +} + +class C { + default class object G { + + } +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/checkers/JetPsiCheckerTestGenerated.java b/idea/tests/org/jetbrains/kotlin/checkers/JetPsiCheckerTestGenerated.java index 81a8b34ee8b..6f66463545d 100644 --- a/idea/tests/org/jetbrains/kotlin/checkers/JetPsiCheckerTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/checkers/JetPsiCheckerTestGenerated.java @@ -136,6 +136,12 @@ public class JetPsiCheckerTestGenerated extends AbstractJetPsiCheckerTest { doTest(fileName); } + @TestMetadata("DeprecatedClassObjectSyntax.kt") + public void testDeprecatedClassObjectSyntax() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/checker/DeprecatedClassObjectSyntax.kt"); + doTest(fileName); + } + @TestMetadata("ExtensionFunctions.kt") public void testExtensionFunctions() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/checker/ExtensionFunctions.kt");