mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ignore serialVersionUID field when checking for lambda folding (IDEA-86549)
This commit is contained in:
@@ -78,7 +78,7 @@ public class HighlightUtil {
|
||||
private static final Map<String, Set<String>> ourClassInitializerIncompatibleModifiers;
|
||||
private static final Set<String> ourConstructorNotAllowedModifiers;
|
||||
|
||||
@NonNls private static final String SERIAL_VERSION_UID_FIELD_NAME = "serialVersionUID";
|
||||
@NonNls public static final String SERIAL_VERSION_UID_FIELD_NAME = "serialVersionUID";
|
||||
@NonNls private static final String SERIAL_PERSISTENT_FIELDS_FIELD_NAME = "serialPersistentFields";
|
||||
private static final QuickFixFactory QUICK_FIX_FACTORY = QuickFixFactory.getInstance();
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.intellij.codeInsight.folding.impl;
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.CollectHighlightsUtil;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightUtil;
|
||||
import com.intellij.codeInsight.folding.JavaCodeFoldingSettings;
|
||||
import com.intellij.codeInsight.generation.OverrideImplementUtil;
|
||||
import com.intellij.lang.ASTNode;
|
||||
@@ -565,8 +566,14 @@ public class JavaFoldingBuilder extends CustomFoldingBuilder implements DumbAwar
|
||||
}
|
||||
|
||||
private static boolean hasOnlyOneMethod(@NotNull PsiAnonymousClass anonymousClass, boolean checkResolve) {
|
||||
if (anonymousClass.getFields().length != 0) {
|
||||
return false;
|
||||
PsiField[] fields = anonymousClass.getFields();
|
||||
if (fields.length != 0) {
|
||||
if (fields.length == 1 && HighlightUtil.SERIAL_VERSION_UID_FIELD_NAME.equals(fields[0].getName()) &&
|
||||
fields[0].hasModifierProperty(PsiModifier.STATIC)) {
|
||||
//ok
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (anonymousClass.getInitializers().length != 0) {
|
||||
return false;
|
||||
|
||||
+2
-1
@@ -30,6 +30,7 @@ import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.codeInsight.daemon.GroupNames;
|
||||
import com.intellij.codeInsight.daemon.ImplicitUsageProvider;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightUtil;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInspection.*;
|
||||
import com.intellij.codeInspection.ex.*;
|
||||
@@ -266,7 +267,7 @@ public class UnusedDeclarationInspection extends FilteringInspectionTool {
|
||||
|
||||
private static boolean isSerializationImplicitlyUsedField(PsiField field) {
|
||||
@NonNls final String name = field.getName();
|
||||
if (!"serialVersionUID".equals(name) && !"serialPersistentFields".equals(name)) return false;
|
||||
if (!HighlightUtil.SERIAL_VERSION_UID_FIELD_NAME.equals(name) && !"serialPersistentFields".equals(name)) return false;
|
||||
if (!field.hasModifierProperty(PsiModifier.STATIC)) return false;
|
||||
PsiClass aClass = field.getContainingClass();
|
||||
return aClass == null || isSerializable(aClass, null);
|
||||
|
||||
@@ -174,6 +174,7 @@ class Test {
|
||||
class Test {
|
||||
void test() {
|
||||
new Runnable() {
|
||||
static final long serialVersionUID = 42L;
|
||||
public void run() {
|
||||
System.out.println(<caret>);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.siyeh;
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
/**
|
||||
@@ -57,7 +58,7 @@ public class HardcodedMethodConstants {
|
||||
public static final String PRINT_STACK_TRACE = "printStackTrace";
|
||||
public static final String REMOVE = "remove";
|
||||
public static final String RUN = "run";
|
||||
public static final String SERIAL_VERSION_UID = "serialVersionUID";
|
||||
public static final String SERIAL_VERSION_UID = HighlightUtil.SERIAL_VERSION_UID_FIELD_NAME;
|
||||
public static final String SET = "set";
|
||||
public static final String SIZE = "size";
|
||||
public static final String STARTS_WITH = "startsWith";
|
||||
|
||||
Reference in New Issue
Block a user