diff --git a/java/java-analysis-impl/src/com/siyeh/ig/psiutils/SerializationUtils.java b/java/java-analysis-impl/src/com/siyeh/ig/psiutils/SerializationUtils.java
index 73aca2048e93..75e56e360735 100644
--- a/java/java-analysis-impl/src/com/siyeh/ig/psiutils/SerializationUtils.java
+++ b/java/java-analysis-impl/src/com/siyeh/ig/psiutils/SerializationUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2021 Dave Griffith, Bas Leijdekkers
+ * Copyright 2003-2024 Dave Griffith, Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -120,20 +120,18 @@ public final class SerializationUtils {
}
public static boolean isSerialVersionUid(@NotNull PsiField field) {
- return isConstant(field)
+ return field.hasModifierProperty(PsiModifier.STATIC)
+ && field.hasModifierProperty(PsiModifier.FINAL)
&& field.getName().equals(CommonClassNames.SERIAL_VERSION_UID_FIELD_NAME)
&& field.getType().equals(PsiTypes.longType());
}
public static boolean isSerialPersistentFields(@NotNull PsiField field) {
- return isConstant(field) && field.getName().equals("serialPersistentFields") &&
- field.getType().equalsToText("java.io.ObjectStreamField[]");
- }
-
- private static boolean isConstant(@NotNull PsiField field) {
return field.hasModifierProperty(PsiModifier.PRIVATE)
&& field.hasModifierProperty(PsiModifier.STATIC)
- && field.hasModifierProperty(PsiModifier.FINAL);
+ && field.hasModifierProperty(PsiModifier.FINAL)
+ && field.getName().equals("serialPersistentFields")
+ && field.getType().equalsToText("java.io.ObjectStreamField[]");
}
public static boolean isProbablySerializable(PsiType type) {
diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/ExternalizableClassInJava14Negative.java b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/ExternalizableClassInJava14Negative.java
index 809003005798..3be34f510e06 100644
--- a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/ExternalizableClassInJava14Negative.java
+++ b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/ExternalizableClassInJava14Negative.java
@@ -3,7 +3,7 @@ import java.io.*;
class Test implements Externalizable {
private static final long serialVersionID = 7874493593505141603L;
- static final long serialVersionUID = 7874493593505141603L;
+ static final long serialVersionUID = 7874493593505141603L;
private static final ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0];
diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/SerializableClassInJava14Negative.java b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/SerializableClassInJava14Negative.java
index fb7e56323d19..14045b78b09c 100644
--- a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/SerializableClassInJava14Negative.java
+++ b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/missing_serial_annotation/SerializableClassInJava14Negative.java
@@ -3,7 +3,7 @@ import java.io.*;
class Test implements Serializable {
private static final long serialVersionID = 7874493593505141603L;
- static final long serialVersionUID = 7874493593505141603L;
+ static final long serialVersionUID = 7874493593505141603L;
private static final ObjectStreamField[] serialPersistentFiels = new ObjectStreamField[0];
private static ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0];
diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/ExternalizableClassPositive.java b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/ExternalizableClassPositive.java
index 24df5bf48d3b..86013ad18c5e 100644
--- a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/ExternalizableClassPositive.java
+++ b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/ExternalizableClassPositive.java
@@ -4,7 +4,7 @@ class Test implements Externalizable {
@Serial
private static final long serialVersionID = 7874493593505141603L;
- @Serial
+ @Serial
static final long serialVersionUID = 7874493593505141603L;
@Serial
diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/SerializableClassPositive.java b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/SerializableClassPositive.java
index 5e0731b0ed64..6c9e3c79fdb8 100644
--- a/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/SerializableClassPositive.java
+++ b/java/java-tests/testData/ig/com/siyeh/igtest/serialization/serial_annotation_used_on_wrong_member/SerializableClassPositive.java
@@ -4,7 +4,7 @@ class Test implements Serializable {
@Serial
private static final long serialVersionID = 7874493593505141603L;
- @Serial
+ @Serial
static final long serialVersionUID = 7874493593505141603L;
@Serial