diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/DeprecatedAnnotationVisitor.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/DeprecatedAnnotationVisitor.java index b6c4267b4db..f8db609aa35 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/DeprecatedAnnotationVisitor.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/DeprecatedAnnotationVisitor.java @@ -63,6 +63,11 @@ public class DeprecatedAnnotationVisitor extends AfterAnalysisHighlightingVisito @Override public void visitReferenceExpression(@NotNull JetReferenceExpression expression) { super.visitReferenceExpression(expression); + + if (expression.getParent() instanceof JetThisExpression) { + return; + } + ResolvedCall resolvedCall = CallUtilPackage.getResolvedCall(expression, bindingContext); if (resolvedCall != null && resolvedCall instanceof VariableAsFunctionResolvedCall) { // Deprecated for invoke() diff --git a/idea/testData/highlighter/deprecated/ExtensionFunction.kt b/idea/testData/highlighter/deprecated/ExtensionFunction.kt new file mode 100644 index 00000000000..7a18153437f --- /dev/null +++ b/idea/testData/highlighter/deprecated/ExtensionFunction.kt @@ -0,0 +1,5 @@ +deprecated("does nothing good") +fun Any.doNothing() = this.toString() // "this" should not be marked as deprecated despite it referes to deprecated function + +// NO_CHECK_INFOS +// NO_CHECK_WEAK_WARNINGS \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java index d3ebc8384ac..c153837c3ef 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java @@ -113,6 +113,12 @@ public class HighlightingTestGenerated extends AbstractHighlightingTest { doTest(fileName); } + @TestMetadata("ExtensionFunction.kt") + public void testExtensionFunction() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/highlighter/deprecated/ExtensionFunction.kt"); + doTest(fileName); + } + @TestMetadata("Function.kt") public void testFunction() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/highlighter/deprecated/Function.kt");