Skip to content

Commit 4de0242

Browse files
committed
MissingOverrideAnnotation: Ignore Kotlin sources
Fixes: #234
1 parent 0a4e1ac commit 4de0242

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/main/java/org/openrewrite/staticanalysis/MissingOverrideAnnotation.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.openrewrite.java.service.AnnotationService;
2626
import org.openrewrite.java.tree.J;
2727
import org.openrewrite.java.tree.TypeUtils;
28+
import org.openrewrite.kotlin.tree.K;
2829

2930
import java.time.Duration;
3031
import java.util.Collections;
@@ -70,6 +71,12 @@ public TreeVisitor<?, ExecutionContext> getVisitor() {
7071
private class MissingOverrideAnnotationVisitor extends JavaIsoVisitor<ExecutionContext> {
7172
private final AnnotationMatcher OVERRIDE_ANNOTATION = new AnnotationMatcher("@java.lang.Override");
7273

74+
@Override
75+
public boolean isAcceptable(SourceFile sourceFile, ExecutionContext ctx) {
76+
// Kotlin has a dedicated `override` keyword which is enforced by the compiler
77+
return super.isAcceptable(sourceFile, ctx) && !(sourceFile instanceof K.CompilationUnit);
78+
}
79+
7380
private Cursor getCursorToParentScope(Cursor cursor) {
7481
return cursor.dropParentUntil(is -> is instanceof J.NewClass || is instanceof J.ClassDeclaration);
7582
}

0 commit comments

Comments
 (0)