From f2749a88784f27fe13542acd51942e6e4db25265 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 19 Oct 2022 15:09:42 +0100 Subject: [PATCH] Don't warn on extracting an enum-entry class --- java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt | 4 ++-- .../ql/test/kotlin/library-tests/methods/diagnostics.expected | 0 java/ql/test/kotlin/library-tests/methods/diagnostics.ql | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 java/ql/test/kotlin/library-tests/methods/diagnostics.expected create mode 100644 java/ql/test/kotlin/library-tests/methods/diagnostics.ql diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt index 6803485a3d0..d0695563ec3 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt @@ -308,7 +308,7 @@ open class KotlinFileExtractor( val kind = c.kind if (kind == ClassKind.ENUM_CLASS) { tw.writeIsEnumType(classId) - } else if (kind != ClassKind.CLASS && kind != ClassKind.OBJECT) { + } else if (kind != ClassKind.CLASS && kind != ClassKind.OBJECT && kind != ClassKind.ENUM_ENTRY) { logger.errorElement("Unrecognised class kind $kind", c) } } @@ -441,7 +441,7 @@ open class KotlinFileExtractor( val kind = c.kind if (kind == ClassKind.ENUM_CLASS) { tw.writeIsEnumType(classId) - } else if (kind != ClassKind.CLASS && kind != ClassKind.OBJECT) { + } else if (kind != ClassKind.CLASS && kind != ClassKind.OBJECT && kind != ClassKind.ENUM_ENTRY) { logger.warnElement("Unrecognised class kind $kind", c) } diff --git a/java/ql/test/kotlin/library-tests/methods/diagnostics.expected b/java/ql/test/kotlin/library-tests/methods/diagnostics.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/java/ql/test/kotlin/library-tests/methods/diagnostics.ql b/java/ql/test/kotlin/library-tests/methods/diagnostics.ql new file mode 100644 index 00000000000..1774650beff --- /dev/null +++ b/java/ql/test/kotlin/library-tests/methods/diagnostics.ql @@ -0,0 +1,4 @@ +import java +import semmle.code.java.Diagnostics + +select any(Diagnostic d | not d.toString().matches("Not rewriting trap file for%"))